对中文软件来说, 同时支持多内码(GB和Big5)是比较完善的中文软件, 但是动态切换内码,
特别是切换软件界面(如菜单项)的内码, 是受到信息 (Message)国际化中 gettext 的限制的.一般来说, 一旦软件载入,
所有 文本信息便被初始化, 而且在整个过程中不会再重新装载信息.退一步说, 即使重新装载了信息, 由于所装载信息的长度发生了变化,
软件界面调整 布局也是十分困难的.
所以现有软件的动态编码切换仅仅是在部分区域实现, 例如Netscape. 遗憾的是, Netscape的编码切换并不彻底,
它切换的仅仅是显示部分, 输入 部分仍然有问题.比如在zh_CN.GBK的环境下启动Netscape, 当切换到有
输入条的繁体中文页面时, 如果采用输入软件自动识别Input Context的 编码的方式, 仍然会认为Netscape是GB编码,
输入结果不正确.如果输入 Big5编码, 必须缩定输出的编码为Big5.Chinput在这方面做了一些尝试,
结论是可以输入Big5编码, 但是在输入条中的显示不正确.
一般来说, 使用中文平台来动态切换编码更容易实现.在中文Linux 的发布版本中,
有几个是可以使用中文平台来实现动态切换编码的, 其原理 十分简单, 只要在应用程序或X服务器把某个窗口的编码状态记住就行了,
以后的文本显示和输入都以此编码为标准.这种方法的缺点是, 应用程序 初始界面上的中文由于转化了编码变成了乱码.
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92163 人正在系统学习中 相关资源:virtualbow:设计和模拟弓箭的软件-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!