按照我的理解,如果程序一开始设置成Unicode,那么无论何种语言的操作系统都能显示正确的文字,否则显示非本系统的语言时就会显示为乱码,当然纯英文不受影响。
举个例子,比如我编了一个软件,非Unicode的,里面有中文提示,那么我在中文操作系统下显示肯定正常,放到纯英文windowsXP中,则中文部分会显示为乱码,而英文正确。而如果我编的是Unicode的程序,那么在纯英文XP操作系统下,就应当能正确的显示中文。
不过我今天装了纯英文XP一试,发现却不是这样,即便我把程序编成Unicode版本,纯英文XP中所有的中文却均显示为方块(倒不是乱码),如果编成非Unicode版本,中文就是乱码了。
难道英文XP还要装什么库才能显示Unicode的中文,换句话说,如果老外不装这个库,那么我就算把软件编成Unicode的版本,对方也无法正常使用?
请大家帮忙看看是不是这样。

解决方案 »

  1.   

    我又编了个utf-8的网站试了一下,也是方框,而且如果我用gb2312的编码编网页,纯英文XP的ie还会提示一下装字库,utf-8的连提示都不提示,就直接给方框,那要是老外不懂得如果装中文字库(其实我都不知道怎么装),那做成unicode的就没什么意思了,因为纯英文的话是不是unicode的都能显示
      

  2.   

    英文windowsXP中应该有中文库。
    你看看程序中跟中文字符有关的地方(比如对话框,CFont等等)的字模名的设定。是否是支持unicode的中文字模。
    比如如果设成,“MS UI Gothic” 就能显示中文,韩文,日文,,,,
      

  3.   

    英文windowsXP中没有中文字库怎么显示啊,UNICODE只是一种编码,只能保证在纯英文XP中能被识别出来,但是英文XP中没中文字库,没办法显示啊
      

  4.   

    看来做成utf-8的中文网站也不能面向全世界了。
      

  5.   


    没有字库当然是不能显示的,如果人家不装中文字库,你做成UNICODE对方确实是不能用的。做成UNICODE的意义在于不管对方是什么语言的操作系统,只要装了字库就能正确显示。而非Unicode程序即使装了字库,也可能不能显示,还有一个内码转换的问题。
      

  6.   

    其实楼主对UNICODE的理解还是有问题,并不是说UNICODE编码的程序就可以在任何语言系统的XP上正确显示,用UNICODE的目的是能够让任何系统能够识别出来,但是能识别并不代表就能显示,比如UNICODE编码的中文,在纯英文系统下,它能正确识别出这是什么字符,但是系统字库中没这个字符,就没办法显示,所以结果就是一方块。如果不是UNICODE的话,纯英文系统会将中文识别成别的东西,按照它的错误识别来进行显示,所以就是乱码了。
      

  7.   

    刚才在控制面板里面装了个东亚语言包,230M,装完后utf-8的中文网站显示中文正常了、gb2312的中文网站显示中文正常了,unicode的程序显示中文正常了,非unicode的程序显示中文乱码。说明unicode还是有用的,只是老外可能不会装这个。
    本质上就是要装中文字体,谢谢大家,结帖。
      

  8.   

    ASCII ‘A’=0x41;Unicode ‘A’=0x0041;纯英文就是ASCII,当然不能显示