2011-04-24 105 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)