我现在用delphi7开发中日双语c/s系统,
查了些资料,普遍使用ini方法,但我用ini读入日文字符串在日文操作系统却显示乱码???
在我的系统(中文XP)下,显示日文却是正常的,我的系统添加了日语输入法.有以下疑问:
1.ini文件需要保存成unicode或者utf-8类型吗?哪种好?
2.程序读取ini内容,readstring方法就可以了吗?
3.字符控件的text属性的字符集需要指定日文字符集吗?用默认值可以吗?
4.为什么我的中文系统下显示日文正常,而日文操作系统却是乱码?谢谢!

解决方案 »

  1.   

    找几篇关于unicode和windows的code page的文章读一下吧
    单存成utf-8的话,可以部分的解决问题,但如果有本地机code page不包含的编码,转成code page编码页后一样丢信息
    中文系统用非unicode储存时encoding采用了gb18030,日文系统的默认非unicode编码页和不是它,解出来自然就不同了
      

  2.   

    因为delphi7的vcl不支持unicode,所以显示与操作系统区域设定里面不一样的语言时,Font.Charset要特别指定。但某些元件,即使修改了CharSet也会乱码。一般需要使用微软的applocale程序来模拟运行。
    日文操作系统还显示乱码有点奇怪,不知道你的具体做法。是否可能那个日文操作系统的区域设定里面把"非Unicode语言"又改成了别的东西?这里的讨论区,讨论一套我们写的多语言元件,欢迎一起来讨论:
    http://multilanguage.tech.topzj.com/index.php
      

  3.   

    升级到delphi2009
    使用Tnt组件实现
    使用什么elang组件实现。
      

  4.   

     用這個TNT組件。
     http://www.2ccc.com/article.asp?articleid=4408  
    要麼用D2009開發。
      

  5.   

    换成Delphi2010 就可以了,但在繁体系统下,系统的字体还是简体中文,怎么样变成繁体的?