none
请教编译时编码状换问题 RRS feed

  • 问题

  • 请教编译时编码状换问题

    我的.c 文件是UTF-8格式的(必须为该格式)我在编译是总是发现 编译的结果是把我程序中定义的字符串都编程的assii码了 例如中文的变成gb码,请问怎样做才能使它不转换? 谢谢
    2009年6月27日 4:57

答案

  • 这和你的.c文件的编码格式无关。
    你需要在程序的字符串前加上L,以告诉编译器你需要Unicode的字符串,比如StringOut("Test");改成StringOut(L"Test");

    或者在工程设置的Character Set中选中Use Unicode Character Set。
    0xBAADF00D
    • 已标记为答案 Tim Li 2009年7月2日 10:19
    2009年6月30日 5:30
    版主

全部回复

  • 后来我查资料发现 默认的编译选项是_MBCS 才导致它改变了编码类型。 然而问题依旧没有解决在线急等
    2009年6月27日 4:59
  • 不要在源文件内保存字符串。你可以创建一个RC文件,然后加一个字符串表。
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    2009年6月29日 3:55
    版主
  • 这和你的.c文件的编码格式无关。
    你需要在程序的字符串前加上L,以告诉编译器你需要Unicode的字符串,比如StringOut("Test");改成StringOut(L"Test");

    或者在工程设置的Character Set中选中Use Unicode Character Set。
    0xBAADF00D
    • 已标记为答案 Tim Li 2009年7月2日 10:19
    2009年6月30日 5:30
    版主