MSSQL中使用UNICODE字符串

2008年12月8日

ACCESS是用UNICODE来存储内容的,因此往里面存放各种UNICODE字符都不会出问题。而如果向MSSQL中存放的话有可能变成??? 难道MSSQL不支持UNICODE,并非如此。
SQL Server 有支援 Unicode 字。必須符合以下兩個條件。
1. 使用支援 Unicode 字元的資料型別來儲存資料。
在 Microsoft SQL Server 中,以下資料型別支援 Unicode 資料:
nchar
nvarchar
ntext
2. 您在 SQL Server 中處理 Unicode 字串常數時,必須在所有 Unicode 字串之前加上大寫字母 N。
請參考以下文件:
INF:SQL Server 中的 Unicode 字串常數需要 N 前置詞
http://support.microsoft.com/default.aspx?scid=kb;en-us;q239530

當您在 SQL Server 中處理 Unicode 字串常數時,必須在所有 Unicode 字串之前加上大寫字母 N。「N」這個前置詞代表的是 SQL-92 標準中的「國際語言」(National Language),並且必須為大寫。如果您沒有在 Unicode 字串常數前面加上 N 作為前置詞,則 SQL Server 會在使用字串之前將它轉換成 SQL Server 所安裝的字碼頁。
同時您不能使用無法傳遞Unicode的程式來Insert Unicode字串. 另外您的Server也必須有該相關的codepage, 否則無法顯示字串。





标签: , ,
归类: MSSQL, UTF8

Leave a Reply

*

您也可以使用微博账号登陆