【发布时间】:2013-11-02 01:12:33
【问题描述】:
我有一个文本文件,其中包含一些字符,包括一些 unicode 字符。我尝试使用以下编码保存此文件但未解决问题:UTF8、不带 BOM 的 UTF8、UCS2 BE 和 UCS2 LE。这是尝试逐行读取文件的代码。
std::wifstream infile("my_file.txt");
wchar_t line[1024];
while (infile.getline(line, sizeof(line))) { ... }
"line" 有一个垃圾值代替 unicode 和 normal 那里有一个 ASCII 字符。它的值看起来像:L"Normal text here" 而不是 L"€Normal text here"
我尝试过其他变体,例如:
std::wifstream infile("my_file.txt");
std::wstring line;
while (std::getline(infile, line)){ ... }
我也尝试过设置语言环境。我在 Windows 电脑上。如何让 unicode 按需要工作?我更喜欢一种适用于所有平台的格式,但在这个阶段我会接受任何东西。
谢谢。
【问题讨论】:
-
如果您还没有seen this yet,它也可能会增加对您正在做的事情的一些了解。 this also