在SQL Server中存储HTML

Pet*_*ron 33 html sql-server database-design

我应该使用什么数据类型来存储SQL Server 2008中的HTML内容?

它适用于CMS的动态内容.

Dav*_*ter 42

VARCHAR(MAX) 如果它基于ascii,那么对于基本的HTML tepmplates来说

NVARCHAR(MAX) 如果HTML可以包含任何内容

NVARCHAR将使用两倍的空间量作为VARCHAR,从而使存储空间增加一倍.HTML本身不需要NVARCHAR,只有HTML标签之间的内容可以基于语言等.

编辑:

在给出这个答案的许多年里,如果标签内容之间存在任何差异,我现在几乎总是使用NVARCHAR.Unicode很受欢迎......

我只使用VARCHAR,如果只是存储简单的html模板,例如标签和占位符,
例如: <div><span>[PLACEHOLDER]</span><div>

根据您的用例拨打电话..

  • 根据维基百科文章[Unicode和HTML](http://en.wikipedia.org/wiki/Unicode_and_HTML),HTML标准将文档字符集从ISO-8859-1扩展到ISO 10646,并断言(括号地)该字符设置"...基本上等同于Unicode". (4认同)
  • Upvote @KennyEvitt,所以类型必须是`NVarChar`,除非你只存储带有"外部字符编码"或"charset"的HTML文档,这是ASCII的子集.在后一种情况下,文档中表示的所有字形都将是ASCII字符,因此`VarChar`将是安全的. (2认同)

SLa*_*aks 13

把它放在一个NVARCHAR(MAX)(或更小).
HTML与其他文本没有什么不同.