codepage,是一个经过挑选的以特定顺序排列的字元内码列表(内码錶),
基本介绍
- 中文名:字元内码列表
- 外文名:codepage
- 定义了:字元的映射代码
- 追述:MS-DOS3.3向IBMPC用户引进内码錶
内码錶(codepage)
简介:
codepage指的是一个经过挑选的以特定顺序排列的字元内码列表(内码錶),对于早期的单位元组内码的语种,codepage中的内码顺序使得系统可以按照此列表来根据键盘的输入值给出一个对应的内码.对于双位元组内码,则给出的是MultiByte到Unicode的对应表,这样就可以把以Unicode形式存放的字元转化为相应的字元内码.
注意ASP和SAP中的codepage的区别。
历史发展:
此技术的使用最早追溯到MS-DOS3.3(1987年4月发行)向IBMPC用户引进了内码錶的概念,Windows也使用此概念。
最初的IBM字元集被称作内码錶437,或者「MS-DOSLatinUS)。内码錶850就是「MS-DOSLatin1」,它用附加的带重音字母(但不是Latin1ISO/ANSI标準)代替了一些线形字元。其他内码錶被其他语言定义。最低的128个代码总是相同的;较高的128个代码取决于定义内码錶的语言。
在MS-DOS中,如果用户为PC的键盘、显示卡和印表机指定了一个内码錶,然后在PC上创建、编辑和列印档案,一切都很正常,每件事都会保持一致。然而,如果用户试图与使用不同内码錶的用户交换档案,或者在机器上改变内码錶,就会产生问题。字元码与错误的字元相关联。应用程式能够将内码錶信息与档案一起保存来试图减少问题的产生,但该策略包括了某些在内码錶间转换的工作。
虽然内码錶最初仅提供了不包括带重音符号字母的附加拉丁字元集,但最终内码錶的较高的128个字元还是包括了完整的非拉丁字母,例如希伯来语、希腊语和斯拉夫语。自然,如此多样会导致内码錶变得混乱;如果少数带重音的字母未正确显示,那幺整个文字便会混乱不堪而不可阅读。
内码錶的扩展正是基于所有这些原因,但是还不够。斯拉夫语的MS-DOS内码錶855与斯拉夫语的Windows内码錶1251以及斯拉夫语的Macintosh内码錶10007不同。每个环境下的内码錶都是对该环境所作的标準字元集修正。IBMOS/2也支持多种EBCDIC内码錶。
ASP中:
CodePage的作用,是决定页面以何种编码方式显示动态内容。当页面被伺服器处理之后,页面将以CodePage设定的编码输出到客户端。当然,CodePage的参数需正确,否则,将产生错误信息“CodePage 值无效。指定的 CodePage 值无效。”(事件ID: 0204)。如果CodePage没有设定,则伺服器使用默认的CodePage载入到你的Session里面,使用程式代码:Response.Write(Session.CodePage)可以查看你当前使用的CodePage。
LANGUAGE="VBSCRIPT"和LANGUAGE="javascript",申明ASP当前使用的编程脚本分别为 VBSCRIPT和javascript。一般在程式第一行进行申明。当使用该脚本申明后,以下所有程式运用全得符合该脚本语言的所有语法,两者不能混淆 使用,否则出错。我们在写ASP时,一般不做限定,因为经常会在一ASP页面写不同的脚本,当然这也是以牺牲执行效率为代价的。
CodePage:可读/可写。整型。定义用于在浏览器中显示页内容的代码页。代码页是字元集的数字值,不同的语言使用不同的代码页。例 如,ANSI代码页为1252,日文代码页为932,简体中文代码页为936。一般情况下,当你上传到国外网页空间,或者提取资料库记录等出现乱码时,就 採用这种方法解决。
SAP中:
最经常我们使用的读取数据的方法就是使用GUI_UPLOAD这个FM.在这个FM中有个CODEPAGE,是用来指定代码页的.
Siebel Value | SAP Code page | Description |
CP1252 | 1100 | SAP Latin-1 - ISO8859-1 - code page |
ISO-8859-2 | 1402 | SAP Latin-2 - ISO8859-2 |
ISO-8859-5 | 1500 | SAP Cyrillic - ISO8859-5 |
CP1254 | 1610 | SAP Turkish - ISO8859-9 |
CP1253 | 1700 | SAP Greek - ISO8859-7 - Not a complete match |
CP1255 | 1800 | SAP Hebrew - ISO8859-8 - Not a complete match |
CP932 | 8000 | SAP Shift-JIS |
CP950 | 8300 | SAP Tranditional Chinese |
CP936 | 8400 | SAP Simplified Chinese |
CP949 | 8500 | SAP Korean |
CP874 | 8600 | SAP Thai |
OEM(IBM PC)代码页
- 437 —最初的IBM PC代码页,实现了扩展ASCII字元集
- 737 — 希腊语
- 850 —“多语言(Latin-1)” (西欧语言)
- 852 —“斯拉夫(Latin-2)” (中欧及东欧语言)
- 855 — 西里尔(Cyril)字母
- 857 — 土耳其语
- 858 —带欧元符号的“多语言”
- 860 — 葡萄牙语
- 861 — 冰岛语
- 863 — 法语加拿大英语
- 865 — 北欧
- 866 — 西里尔(Cyril)字母
- 869 — 希腊语
代码页819实现了Latin-1(ISO/IEC 8859-1),用于IBM AS/400小型机。
中日韩语言代码页
既是OEM代码页,也是Windows代码页。
- 932 —日文
- 936 —简体中文(GBK)
- 949 —韩文
- 950 —繁体中文(大五码)
其他代码页
- 10000 —Macintosh Roman encoding (followed by several other Mac character sets)
- 10007 —Macintosh Cyrillic encoding
- 10029 —Macintosh Central European encoding
- 1200 —UCS-2LE Unicode 小端序
- 1201 —UCS-2BE Unicode 大端序
- 65000 — UTF-7 Unicode
- 65001 — UTF-8 Unicode
Windows(ANSI)代码页
- 874 —泰文字母
- 1250 —东欧拉丁字母
- 1251 — 古斯拉夫语
- 1252 —西欧拉丁字母ISO-8859-1.
- 1253 — 希腊语
- 1254 — 土耳其语
- 1255 — 希伯来语
- 1256 — 阿拉伯语
- 1257 — 巴尔
- 1258 — 越南
- 1254 — 土耳其语
Windows-1252与ISO-8859-1并不完全一致。ISO-8859-1在0x80-0x9F範围的控制字元,在Windows-1252中被可列印字元取代。由于在web网页中,ASCII控制字元不起作用,所以网页一般用Windows-1252代码页标记替代ISO-8859-1标记。