在delphi下的各种控件无论怎样设置字体显示都是乱码或者面目全非的字。
但是在简体下可以显示繁体字。原因是gbk编码包含了big5编码中的所有字,但是big5编码没有包含简体字。问题是微软的msn messenger以及ms office都可以做到。
我个人看法:微软公司的这些软件内部使用的是unicode, Delphi内部使用的是本地编码。 那么有没有办法解决这个问题呢?

解决方案 »

  1.   

    DELPHI彻底研究这本书上有讲吧。
    可以打包字库
      

  2.   

    DELPHI彻底研究这本书上有讲吧。
    可以打包字库
      

  3.   

    同意whitetiger8(蜗牛[我要一步一步往上爬]) 的这种说法
      

  4.   

    嗯,我去看看书。
    不过这些字库系统里都已经有了,我在字体设置的时候发现根本原因还是没法使用我想使用的内码如unicode或者GBK,还是顽固不化地使用BIG5。
      

  5.   

    delphi深度历险上有这方面的文章,
    你去看看,
    是显示多种字体的
    本地显示有错的话,我只有用东方快译了!
      

  6.   

    谢谢各位的回复!
    我要显示的文本来源于SQL数据库, 字段类型为nvarchar,即使用unicode编码,我发现对于GBK和BIG5都有编码的汉字在不同的操作系统下显示和输入都没有问题。
    现在的问题是:
    1、简体字在繁体操作系统下不会正常显示
    2、在繁体操作系统下无法录入简体字(微软公司的很多产品都可以做到)
      

  7.   

    所以商业软件才大啊,你看看Photoshop、CorelDraw之类的,哪个不是打包了一把字库的
      

  8.   

    不是那回事,photoshop 和 coreldraw 根本不带中文字库。
      

  9.   

    打包字库是毫无意义的,我已经在系统中发现了宋体的unicode以及gbk编码字库。
    还有就是录入问题也无法用打包字库来解决。录入之后,Delphi已经把它处理成'?'字符,不是某种编码的字符。原因是delphi使用非unicode编码,在繁体系统下即big5编码。而该编码不包含所谓的简体字。
      

  10.   

    终极解决方案(也是我们没有办法的方案)就是1、Delphi完全按照unicode处理字符,2、或者扩充big5编码包含简体字并且取得微软公司的支持。这两者都不是一时半刻能做到的。这个问题不能解决,我只有尽快转移到.net了,实在是舍不得delphi
      

  11.   

    Delphi的CLX控件完全支持unicode字符
    开发CLX程序就可以解决不同字符在不同操作系统下的显示问题。
    至于简体字符录入...还没想到什么办法