操作系统是Windows XP简体中文版,源文件是US-ASCII编码的,用vc6打开,其中有一些字符串常量无法正常显示,比如:
用其他编辑器以US-ASCII编码方式打开源文件,有一行代码是:
char c = '$';
如果直接以vc6打开,则变成:
char c = '?;如果先用其他编辑器以US-ASCII编码方式打开再另存为UTF-8,则可以正确显示并编译,但是
由于源文件非常多,难以逐一操作.试过把操作系统的区域语言选项改为"英语(美国)", 然后直接用vc6打开源代码, 结果显示成:
char c = '¤';
也不行.怎么办?

解决方案 »

  1.   

    弄个批量文件内码转换器,我有一个有源码的,不过是C#写的,以前从网上下的,你要可以发你,那时候也是大量ANSI文件要转UTF8
      

  2.   

    US-ASCII码不是所有编码都是0-127么?怎么会有不可见字符?
      

  3.   

    换到英文操作系统下编译,或者在你的系统中“区域和语言选项”中把“非Unicode程序语言”改成英语,再编译试试。
      

  4.   

    问题是:ASCII码在所有编码中都一样,不可能有这种问题吧?
      

  5.   

    用ultraedit打开,另存为unicode-ascii escaped格式。
      

  6.   

    自己写了个程序把所有文件转换了一下,先 MultiByteToWideChar(20127,...),再WideCharToMultiByte(CP_UTF-8,...)。其中20127表示US-ASCII。