在VC6的时候,如果我们要开发同时能在简体和繁体系统下都能正常显示的程序,可以采用UNICODE/多资源DLL等,还有一个很简单的做法就是插入资源的拷贝,然后再到繁体系统上输入繁体文字。通常在简体的系统中看繁体资源是乱码,而到繁体系统上就正常了。
可是在VS2005中,如果到繁体系统上输入繁体资源,回到简体系统原来的简体资源就成了乱码。如果又在简体系统重新输入简体文字,编译显示正常后拷贝程序到繁体系统,原来正常的繁体资源又成了乱码。不管用VS2005中文版还是英文版都一样。
是VS2005聪明过头了还是我什么地方没有设置好,请大家帮帮忙找下原因。

解决方案 »

  1.   

    VS2005本身支持同时编译多语言的资源文件,方法是为每个语言建立一个不同的RC文件,并为每个RC文件制定编译时的文化/语言,VS2005的编辑器可以识别文件的编码,如果你不放心,可以自己选择编码打开资源文件编辑。只要RC文件正确,不同切换不同的语言环境,就能同时编译多种语言的资源文件,一切OK。
      

  2.   

    直接编辑RC文件当然可以,可是这不能说是什么高招。只要你在简体系统改动过一点点简体资源,VS2005又会“聪明的”把本来应该是BIG5内码的繁体资源也改了过来。最直观的效果是,本来在简体看RC文件,繁体资源部分应该是乱码,这样到了繁体系统上是可以正常显示的,但被VS2005保存一次后,RC部分的繁体资源你在简体系统可以看到是正常繁体了,可是在繁体系统上就成了乱码!
    你说我改简体资源关你繁体资源什么事?为何要自作聪明重新编码?这和WORD的风格一样,把程序想得太聪明了。
    也许有人问,在简体系统直接在繁体资源输入繁体内码是否可以?我也想知道,可是哪种输入法可以让你既能同时看懂文字,还可保证是繁体内码?
    不管怎样,谢谢flyleaf0206(寒秋),给分!