我用delphi写多语言软件。
软件文件用ini保存,保存的是utf-8码的汉字和字母
简体系统下,繁体显示正常,简体正常,英文正常 可以自由切换
繁体系统下,切换繁体正常,英文正常 简体就乱码
英文系统下,切换繁体和简体都乱码
听说delphi对utf-8支持不好。有什么好的办法吗???
555没分了。

解决方案 »

  1.   

    使用UTF8可以解决存储编码二义性问题,但是作为UI输出还需要UI控件支持,可以考虑升级到Delphi 2009或者使用支持Unicode的UI控件,尽量防止不必要的编码转换,包括AnsiString与WideString的默认转换等等导致的问题。必要的时候使用显式的编码转换,最好能够存储相应文字的编码,从而在必要的时候选择相应的charset或者codepage。另一种办法:
        在当前的系统当中基本上都支持多语言,所以建议在目标系统当中增加简体中文语言包,并且在UI当中一致使用简体(codepage=936)编码输出(做必要的显式转换)。
      

  2.   

    这里讨论delphi的多语言元件
    http://multilanguage.tech.topzj.com对delphi7编写的程序,因为VCL没有支持unicode,在操纵系统显示非系统语言时,为避免乱码,必须用微软的applocale工具
      

  3.   

    这跟DELPHI支持utf-8没关系。
    关键的是,显示时你得使用Unicode控件,或者Unicode版的API