2014-09-04 63 views
1

我正在執行下面的查詢如何添加缺少的排序規則?

使用[大師] GO ALTER DATABASE [MyDatabase的] COLLATE utf8_general_ci GO

和它給我下面的錯誤消息:

消息448 ,級別16,狀態3,行1無效排序 'utf8_general_ci'。

如何將排序規則utf8_general_ci添加到我的庫中?

我使用的是SQL Server Management Studio中,我想接受多國語言

PS數據庫:我不喜歡使用的數據類型爲nvarchar。

+0

我不認爲你可以改變爲utf8整理。我已投票將此問題移至dba stackexchange,因爲您會在那裏獲得更好的回覆。 – 2014-09-04 08:20:29

+0

nvarchar和歸類是不同種類的東西 - nvarchar是數據字段類型,歸類是用於排序和比較字符串值的規則集。您必須爲所有字符串類型(隱式或顯式)設置排序規則,可以是這些字符,varchars或unicode兄弟。要使用多種語言,無論如何你需要unicode char字段類型(nchar,nvarchar等)。如果您需要爲多種語言使用排序規則,則必須在查詢中使用排序規則子句來進行搜索,排序等。 – Arvo 2014-09-04 10:35:41

回答

1

只能使用fn_helpcollations()表函數返回的排序規則。

哦,MS SQL Server不支持任何方式的UTF-8。除非您願意將您的字符串存儲在varbinary列中,當然。