UNICODE控制台程序(VC2003)
双杯献酒 2008-02-02 12:57:56 我想用VC2003写一个UNICODE的程序,
由于这个源代码里面可能会出现多国的文字(比如汉语和韩语),
为了避免在IDE环境里出现乱码,我想吧源代码(*.h和*.cpp)保存为Unicode格式,
在SDI工程中,这个问题我已经解决,
见:
但是,在控制台程序中,虽然编译连接都没有问题,
但在窗口中的显示却不正确(源代码见下面).
我估计是控制台窗口的语言或者字符集设置不对,但不知道怎么弄.
请大家积极支招.
// 本程序中包含多种语言的字符串
// 在VC2003编译通过
// 本文件保存方式为
// 编码: Unicode (2000)
// 换行: Windows (CR LF)
// 但是在窗口中显示不正确
// 不能正确显示除了英语字母和汉字以外的其他字符.
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t strData[][64] = {
L"/*",
L"China(Simplified): 中国(简体)",
L"China(Traditional): 中國(繁體)",
L"Korea: 한국",
L"Russia: Россия",
L"Saudi Arabia: المملكه العربية السعودية",
L"*/"
};
locale loc("chs");
wcout.imbue(loc);
int iCount = sizeof(strData)/sizeof(strData[0]);
for(int i = 0; i < iCount; ++i)
{
wcout << strData[i] << endl;
}
return 0;
}