2011-04-24 76 views

回答

32

VARCHAR(MAX)如果这一切都将是基于ASCII的,说的基本HTML tepmplates

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

,因为它使用的空间量的两倍NVARCHAR将增加一倍,你的存储使用作为VARCHAR。 HTML本身不需要NVARCHAR,只有内容的HTML标签之间可以根据语言,等等。

编辑:

多年从给出这个答案我几乎总是使用NVARCHAR现在如果标签内容之间有任何内容。 Unicode是流行...

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

根据您的使用情况通话..

+1

Ah - no。这是一个很好的问题,但标准的HTML会要求内容“基于语言”来编码特殊的字符;)在HTML中没有unicode,对不起。正常Ascii只设置。 – TomTom 2011-04-24 20:31:00

+0

该死的,我一直在VARCHAR所有这些年都存储HTML ...... ;-) – 2011-04-24 20:32:50

+0

因为HTML只有ascii字符,就像我说的。所有特殊的语言特性都必须进行编码;)因此,数据库只能看到ASCII ......或者它不是HTML;) – TomTom 2011-04-24 20:35:24

12

把它放在NVARCHAR(MAX)(或更小)。
HTML与其他文字没有区别。

0

如果你想存储的多语言文本数据类型,我应该用来存储HTML内容在SQL Server 2008中

您必须使用为nvarchar(最大)

否则使用VARCHAR(MAX)如果你想存储英文文本。

nvarchar(max)包含更多数量的spance与varchar比较(max)