2010-04-06 31 views
0

我創建了MVC ASP.Net Web應用程序,並試圖將泰語語言數據插入到SQL Server 2008數據庫中,並將其與數據類型文本一起填充到數據庫存儲區域中。這是不正確的。對於HTML頁面I用戶字符集utf-8插入泰語語言數據到SQL Server 2008字段數據類型文本和顯示時出現問題?

但是,我試圖編碼字符串之前插入數據到數據庫和更改數據庫字段排序規則。這些都不能解決問題。

我期待着您的回覆。

感謝,

embarus

回答

1

嘗試使用NVARCHAR(MAX)數據類型。這可能會解決問題。你遇到了什麼錯誤?

1

SQL Server無法本地存儲UTF-8。如果你想存儲UTF-8數據,你有幾個選擇:

  1. 將它存儲在Unicode(nvarchar)中,並將其轉換爲客戶端上的UTF-8。應該指出的是,SQL Server驅動程序已經將大部分字符串轉換爲Unicode。明顯的缺點是它吃了兩倍的空間。然而,空間便宜,這是迄今爲止最簡單的解決方案,也是最少的頭痛。
  2. 將其存儲在二進制文件中並將其轉換爲客戶端上的UTF-8(幾乎消除了在服務器上完成的任何排序,並且您的所有搜索都將與文化和案例無關)
  3. 在SQL中創建CLR用戶定義類型服務器來存儲UTF-8值。 Microsoft提供了一個SQL Server附帶的示例來執行此操作。您可以從CodePlex from here下載樣本。您還可以在Books Online的本文中找到有關該示例的更多信息。缺點是你必須在SQL Server中啓用CLR,我不確定它的性能如何。
+0

非常感謝您的回覆。 我找到了解決方案。只需將數據類型更改爲ntext。 :) – embarus 2010-04-06 08:46:54

+0

@embarus - 我會推薦nvarchar(max)而不是ntext。 Ntext已被棄用,並且有一些地方的ntext的行爲與nvarchar(max)不同。 – Thomas 2010-04-06 14:15:31

+0

@Thomas,我們可以將泰文轉換成英文文本並將其存儲在數據庫中嗎? – RSB 2016-09-20 10:49:05

相關問題