SQL Server 2008:UTF-8 代码页 65001 的排序规则
需要以 UTF-8 编码保存 XML,然后在 T-SQL 代码中使用它来提取数据。
默认数据库排序规则为 SQL_Latin1_General_CP1_CI_AS。
我不知道是否可以在 SQL Server 2008 中保存和使用 UTF-8 数据,但我有一个想法,在 XML 列上使用带有 UTF-8 (65001) 代码页的排序规则,以便保存UTF-8 格式的数据。
有谁知道是否可能或对如何在 SQL Server 中使用 UTF-8 数据有其他想法?
There is a need to save an XML in UTF-8 encoding and then use it in T-SQL code to extract data.
Default database collation is SQL_Latin1_General_CP1_CI_AS.
I don't know if it is possible to save and work with UTF-8 data in SQL Server 2008, but I have an idea to use collation with code page of UTF-8 (65001) on the XML column in order to save the data in UTF-8.
Does anybody know if it is possible or have another idea on how to work with UTF-8 data in SQL Server?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您正在处理 xml 数据,请将其存储为 xml 数据类型。这应该会解决您所关心的任何问题(即如何存储它),并且您将节省在处理它时将其转换为 xml 的工作(例如 xpath 表达式、xquery 等)。
If you're dealing with xml data, store it as the xml data type. That should take care of any concerns you have (i.e. how to store it) and you'll save yourself the work of having to convert it to xml when you do work on it (e.g. xpath expressions, xquery, etc).
NVARCHAR 列应该可以很好地完成这项工作。
NVARCHAR column should do the job just fine.
您可以将所有 Unicode 字符存储在
xml
或nvarchar
列中。使用什么排序规则并不重要。少数罕见的汉字(来自补充平面)可以存储为nchars
对(代理对)。但不会丢失数据。You can store all Unicode characters in
xml
ornvarchar
columns. It does not matter what collation you use. A handful of rare Chinese characters (from the supplementary plane) may be stored as pairs ofnchars
(surrogate pairs). But there is no loss of data.