à 按 codepage 读取串串没变,这步有可能"误会读取" 5)转为对应的 Unicode Codepage 指定字符集----Unicode 映射 6)中间处理,进数据库无变化,直接以 Unicode 形式进入
7)按 codepage 读取数据库 Unicode----codepage 指定字符集的映射 8)显示,按 Charset 指定字符集读取串串没变. 以例一说明:
例二:
晕了.现在来用用知识. 案例 1. 简体中文系统下跑的好好的代码, 放到国外空间上, 数据库里乱码, 原有的数据也乱码. 分析:因为大多数人平时用的都是简体中文系统,默认的 codepage=936,所以平时大家 不写也没有关系.
但到了国外空间问题就出来了.从数据库里的 Unicode 转换到英文编码去了,所以数据 库原有的简体中文转换到英文后,按 GB 显示自然乱码. 如图,新输入的文字显示正常,但数据库里保存的是英文的 Unicode 的. 解决方法:全部加上<%@codepage=936 即可%>. 全程只有简体中文与对应 Unicode 间的转换.
案例二: 案例二: 简体中文的代码和数据,想转为完全的繁体版,该怎么办? 分析:1.代码文件编码全部改为 Big5 的,文件本身保存编码选繁体. 2.<%@ codepage=936 %> 3.Charset=big5 4.access 版本无所谓,因为 access 里的数据是 Unicode 的. 5.好了,代码可以在纯繁体系统下跑了. 6.遗留
问题:原有的简体中文数据读出会有一些问号.效果同例一的 950 读取,big5 显示. 因为从简体中文的 Unicode 转换到繁体中文了, 有些字繁体中没有, 就会出问号. 7.解决:用一个临时 asp 页,codepage=65001,读出为简体中文的 Unicode,用一个 Unicode->Big5 的函数,转为繁体中文,然后写回数据库,应该行了吧? 两个案例完全是我按照理论推导出来了,未经证实. 有类似经历的欢迎批评指正.