按照我的理解,如果程序一开始设置成Unicode,那么无论何种语言的操作系统都能显示正确的文字,否则显示非本系统的语言时就会显示为乱码,当然纯英文不受影响。
举个例子,比如我编了一个软件,非Unicode的,里面有中文提示,那么我在中文操作系统下显示肯定正常,放到纯英文windowsXP中,则中文部分会显示为乱码,而英文正确。而如果我编的是Unicode的程序,那么在纯英文XP操作系统下,就应当能正确的显示中文。
不过我今天装了纯英文XP一试,发现却不是这样,即便我把程序编成Unicode版本,纯英文XP中所有的中文却均显示为方块(倒不是乱码),如果编成非Unicode版本,中文就是乱码了。
难道英文XP还要装什么库才能显示Unicode的中文,换句话说,如果老外不装这个库,那么我就算把软件编成Unicode的版本,对方也无法正常使用?
请大家帮忙看看是不是这样。
举个例子,比如我编了一个软件,非Unicode的,里面有中文提示,那么我在中文操作系统下显示肯定正常,放到纯英文windowsXP中,则中文部分会显示为乱码,而英文正确。而如果我编的是Unicode的程序,那么在纯英文XP操作系统下,就应当能正确的显示中文。
不过我今天装了纯英文XP一试,发现却不是这样,即便我把程序编成Unicode版本,纯英文XP中所有的中文却均显示为方块(倒不是乱码),如果编成非Unicode版本,中文就是乱码了。
难道英文XP还要装什么库才能显示Unicode的中文,换句话说,如果老外不装这个库,那么我就算把软件编成Unicode的版本,对方也无法正常使用?
请大家帮忙看看是不是这样。
你看看程序中跟中文字符有关的地方(比如对话框,CFont等等)的字模名的设定。是否是支持unicode的中文字模。
比如如果设成,“MS UI Gothic” 就能显示中文,韩文,日文,,,,
没有字库当然是不能显示的,如果人家不装中文字库,你做成UNICODE对方确实是不能用的。做成UNICODE的意义在于不管对方是什么语言的操作系统,只要装了字库就能正确显示。而非Unicode程序即使装了字库,也可能不能显示,还有一个内码转换的问题。
本质上就是要装中文字体,谢谢大家,结帖。