SQL Server 2005 中的 Unicode 支持

SQL Server 2005 中的 Unicode 支持

ID:38047986

大小:24.02 KB

页数:5页

时间:2019-05-24

SQL Server 2005 中的 Unicode 支持_第1页
SQL Server 2005 中的 Unicode 支持_第2页
SQL Server 2005 中的 Unicode 支持_第3页
SQL Server 2005 中的 Unicode 支持_第4页
SQL Server 2005 中的 Unicode 支持_第5页
资源描述:

《SQL Server 2005 中的 Unicode 支持》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQLServer2005中的Unicode支持Unicode支持是SQLServer2005中多语言支持的基础。Unicode是由UnicodeConsortium(一个提倡为所有语言使用单一字符集的组织)创立的一项标准。SQLServer2005支持Unicode标准3.2版。Unicode标准的3.01版与ISO-10646(一项与Unicode中的所有码位均相符的国际标准)完全相同。  Unicode的工作方式是,为每个字符提供一个唯一的码位,该码位与平台、程序或语言无关。支持Unicode的程序可以处理任何语言的数据。因为其设计宗旨是涵盖世界上所有语言的所有字符,所以不需要让不同

2、的代码页来处理不同的字符集。  因为所有Unicode系统都统一使用相同的位模式来表示所有字符,所以从一个系统转到另一个系统时,不会出现字符转换不正确的问题。  管理国际数据库中的字符数据的最简单方法是始终使用Unicodenchar、nvarchar和nvarchar(max)数据类型,而不使用它们对应的非Unicode数据类型:char、varchar和text。这样,客户端与所有其他客户端所看到的数据中的字符将是相同的。如果所有使用国际数据库的应用程序还使用Unicode变量来代替非Unicode变量,则不需要在系统中的任何位置执行字符转换。  注意未来版本的MicrosoftSQL

3、Server中将删除ntext数据类型。  Unicode码位及它们所代表的字符与用于可视呈现的“字形”是分开的。ISO标准(ISO/IEC9541-1)将字形定义为“与具体设计无关的可识别抽象图形符号”。因此,一个字符不必总是由相同的字形乃至唯一的字形来表示。所选择的字体决定将使用什么字形来表示特定码位或一系列码位。  有关详细信息,请参阅UnicodeConsortium网站。  编码  Unicode将码位映射到字符,但实际上并不指定数据在内存、数据库或网页中的表示方式。这便是Unicode数据编码发挥作用的地方。有许多不同的Unicode编码。多半选择一种Unicode数据类型即可

4、,不必为这些细节操心;不过,在以下情况下了解编码有重要意义:  •应对可能以不同方式对Unicode进行编码的应用程序时  •向其他平台(非MicrosoftWindows)或Web服务器发送数据时  •导入其他编码的数据或将数据导出为其他编码时  Unicode标准定义了其单一字符集的多种编码:UTF-7、UTF-8、UTF-16和UTF-32。本部分对这些常见的编码进行说明:  •UCS-2  •UTF-16  •UTF-8  SQLServer通常以UCS-2编码方案存储Unicode。不过,许多客户端以另一种编码方案(如UTF-8)来处理Unicode。这种情况在基于Web的应用程

5、序中经常出现。在MicrosoftVisualBasic应用程序中,字符串以UCS-2编码方案来处理。因此,不需要显式地指定VisualBasic应用程序与SQLServer实例之间的编码方案转换。  SQLServer2005使用Unicode(UTF-16)来对XML数据进行编码。类型为xml的列中的数据以内部格式存储为二进制大型对象(BLOB),以支持XML模型特征,如文档顺序和递归结构。因此,从服务器检索的XML数据会以UTF-16格式输出;如果想要为检索的数据使用其他编码,则应用程序必须对所检索的UTF-16数据执行必要的转换。《SQLServer2005联机丛书》中的XML最佳

6、实践提供了如何为从varchar(max)列中检索的XML数据显式地声明编码的示例。  使用UTF-16编码是因为它可以处理2字节或4字节字符,并且处理是依照面向字节的协议进行的。这些特性使得UTF-16非常适合于遍历使用不同编码和字节排序系统的不同计算机。因为XML数据通常在网络上得到广泛共享,所以在数据库中及在将XML数据导出到客户端时保持默认的UTF-16存储格式是有意义的。  UCS-2  UCS-2是UTF-16的前身。UCS-2与UTF-16的不同之处是,UCS-2是一种固定长度编码,它以16位值(2个字节)表示所有字符,因此不支持补充字符。UCS-2常与UTF-16发生混淆,

7、UTF-16用于在内部表示MicrosoftWindows操作系统(WindowsNT、Windows2000、WindowsXP和WindowsCE)中的文本,但UCS-2受到的限制更多。  注意有关在Windows操作系统中使用Unicode的最新信息,请参阅MicrosoftDeveloperNetwork(MSDN)库中的Unicode。建议Windows应用程序在内部使用UTF-16,仅在必须使用其他格式时再通

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。