Unicode形成的“?”问题
2008-05-08 08:13 ubunoon 阅读(385) 评论(0) 编辑 收藏 举报 为了能够采用统一的编码来表示世界上各地的语言,ISO采用了Unicode编码来实现,是占用两个字节的编码方式,每一个字符均有唯一的编码,约有65535个字符。
不同的国家,具有不同的货币,时间日期等格式差别,这些差别又被称之为:l18n。
Linux和Windows为了能够在各个国家的电脑上平稳的运行,也为了支持世界各地的电脑软件,为每个国家实现了不同的Unicode配置。
这不,昨天大晚上的就有人打电话给我,说是他的金蝶软件以及其他软件都显示??,无法读取数据。
我匆匆赶到现场,打开金蝶一看,都是??的显示,根本没有办法读取数据,在打开Word一看,呵呵,什么都是好的,我心里开始有点郁闷了,这是怎么回事呢!
找我的人已经与金蝶公司联系上了,说了几个时间格式问题,而且还介绍到注册表去修改。
我又听了该公司的人说下午安装软件的时候设置了一下时间格式,不曾想到设置完后居然变成这样了。
我打开“控制面板”的“区域选项”,在语言选项中看到Unicode选项中的语言为“爱尔兰”,这让我非常激动,因为经常写软件的人都知道,底层Unicode编码与上层显示的字符与这个选项有关,繁体与简体共用同一套Unicode编码,于是,我修改这个选项为“中文(中国)”,按系统要求,重新启动,打开金蝶软件,一切显示完好,再打开其他软件,也是完好显示。问题搞定。
小结:
1、写到此处,不得不佩服微软的Office国际化做的好,在设置上出现问题时也并没有影响到Office中菜单等字符的显示。
2、Unicode编码设置错误将显示?在各个控件上,是用户无法读取数据。只需在控制面板的区域选项中设置Unicode为当地软件支持的Unicode环境即可(一般为“中文(中国)”)。
3、由于此问题的出现,再次劝诫需要做国际化软件的Programmer,一定要注意不要在程序中直接实现字符串,并采用Unicode编译,避免形成造成不兼容。
ubunoon
080508
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */