分享
 
 
 

代码页

王朝百科·作者佚名  2010-01-17
窄屏简体版  字體: |||超大  

对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256 个不同的位模式中的一个模式。

在计算机中,字符由不同的位模式(ON 或 OFF)表示。每个字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256 个不同的字符。2 个字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个字节表示每个字符的程序可表示最多 65,536 个字符。

单字节代码页是字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。

仅靠单字节字符集存储许多语言所使用的字符也是不够的。例如,一些亚洲语言包含上千个字符,所以每个字符必须使用双字节。双字节字符集正是为这些语言定义的。但是,这些语言都有各自的代码页,在运行不同双字节代码页的计算机之间传输数据也存在困难。

SQL Server 2000 支持以下代码页。

代码页 描述

1258 越南语

1257 波罗的语

1256 阿拉伯语

1255 希伯来语

1254 土耳其语

1253 希腊语

1252 拉丁 1 字符 (ANSI)

1251 西里尔语

1250 中欧语言

950 繁体中文

949 朝鲜语

936 简体中文

932 日语

874 泰国语

850 多语种 (MS-DOS Latin1)

437 MS-DOS 美国英语

为解决在网络中支持多种代码页时出现的字符转换和解释问题,ISO 标准化组织和称为 Unicode Consortium 的团体定义了 Unicode 标准。Unicode 使用双字节存储每个字符。由于 65,536 个字符足以涵盖世界上所有语言常用的字符,因此 Unicode 标准适用于所有的主要语言。如果网络中的所有计算机和程序都使用 Unicode,则无需进行任何字符转换,每个用户与所有其它用户看到的字符完全相同,并且不会丢失任何字符。

在运行 Microsoft Windows® 操作系统的计算机上,操作系统和 Windows 应用程序使用的代码页由 Windows 区域设置定义。区域设置是在安装操作系统时选择的。Windows 应用程序使用由 Windows 区域设置定义的代码页来解释数据。Windows 应用程序还支持宽字符数据,即 Unicode 数据。

SQL Server 2000 支持两类字符数据类型:

Unicode 数据类型 nchar、nvarchar 和 ntext。这些数据类型使用 Unicode 字符表示法。代码页不适用于这些数据类型。

非 Unicode 字符数据类型 char、varchar 和 text。这些数据类型使用单字节或双字节代码页中定义的字符表示法。

有关字符数据的存储方式以及代码页、Unicode 和排序次序操作的更多信息,请参见在 http://msdn.microsoft.com MSDN® 页中的 Developing International Software for Windows 95 and Windows NT 4.0。

国际化数据和 Unicode

当只使用字符数据和代码页时,在一个数据库内很难以多种语言存储数据。很难为数据库找到一种代码页,能够存储所需全部语言特有的字符。对于运行各种代码页的不同客户端所读取和更新的特殊字符,要确保正确地转换也很困难。支持国际化客户端的数据库应始终使用 Unicode 数据,而不应使用非 Unicode 数据类型。

例如,北美洲客户的数据库必须处理三种主要语言:

墨西哥使用的西班牙文名称和地址。

魁北克使用的法文名称和地址。

加拿大的其余地区和美国使用的英文名称和地址。

当只使用字符列和代码页时须小心,以确保数据库所安装的代码页能够处理这三种语言的字符。当其中一种语言的字符由运行另一种语言的代码页的客户端读取时,必须更加小心以确保能够正确转换字符。

随着 Internet 的发展,支持众多运行不同区域设置的客户端计算机变得日益重要。很难选择这样一种代码页,使其包含的字符数据类型能够支持全球范围用户所需的全部字符。

管理国际化数据库中的字符数据的最简单方法是始终使用 Unicode nchar、nvarchar 和 ntext 数据类型,代替对应的非 Unicode 数据类型(char、varchar 和 text)。如果所有使用国际化数据库的应用程序也采用 Unicode 变量而不是非 Unicode 变量,那么在系统中的任何地方都无须进行字符转换。每个客户端与所有其它客户端看见的字符数据都完全相同。

对于可使用单字节代码页的系统,Unicode 数据需要的存储空间是非 Unicode 字符数据的两倍,但却消除了在代码页间转换扩展字符的必要,因此至少部分弥补了上面的不足。使用双字节代码页的系统没有这个问题。

SQL Server 2000 将所有的文本化系统目录数据都存储在包含 Unicode 数据类型的列中。数据库对象(如表、视图和存储过程)的名称存储在 Unicode 列中。这样就可以只使用 Unicode 开发应用程序,从而避免了所有的代码页转换问题。

排序次序

排序次序指定 SQL Server 解释、排序、比较和显示字符数据所使用的规则。例如,排序次序定义"a"是小于、等于还是大于"b"。排序次序定义排序规则是否区分大小写,例如"m"和"M"是否相同。另外还定义排序规则是否区分重音,例如"á"和"ä"是否相同。

SQL Server 2000 对每种排序规则使用两种排序次序,一种用于 Unicode 数据,另一种用于字符代码页。

许多 SQL Server 排序规则使用相同的代码页,但是代码页的排序次序不同。这使站点得以选择:

是否仅根据位模式所表示的数字值来排序字符。二进制排序的速度最快,这是因为 SQL Server 不用做任何调整并可使用快速、简单的排序算法。二进制排序次序始终区分大小写。由于代码页中的位模式可能不按照特定语言的字典规则所定义的序列排列,二进制排序有时并不按照使用该语言的用户所期待的序列对字符进行排序。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有