[问题] console无法正常显示中文

楼主: opp556687 (opp556687)   2019-01-22 15:36:12
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
CodeBlocks
问题(Question):
编译之后程式没办法正常显示中文
错误结果(Wrong Output):
https://i.imgur.com/hxOPpv7.jpg
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#include <iostream>
using namespace std;
int main()
{
cout << "中文测试" << endl;
return 0;
}
补充说明(Supplement):
之前使用的时候都很正常没有问题,可是不知道为什么我重灌之后就没办法正常显示中文
原本以为是Dev C++的问题可是我换用CodeBlocks也是一样,而且会出现问题只有在输出
全部都是中文的时候,如果前面是英文像是cout << "test中文";这样却又可以正常显示
作者: eye5002003 (下一夜)   2019-01-22 17:19:00
Windows下要用WriteConsoleW,不用的话,就算印的出中文程式放到其他国家的作业系统一样会变乱码
作者: LPH66 (-6.2598534e+18f)   2019-01-23 07:46:00
楼上在说什么...这只是在问最标准的 cout照输出看起来这四个字确定是正常输出了的所以问题应该是跟你的程式无关, 只是这种问题我也没碰过
作者: petercoin (彼得币)   2019-01-23 09:44:00
用wcout试试看
作者: eye5002003 (下一夜)   2019-01-23 12:37:00
我只是提供一个一劳永逸的做法,如果只是懒的查该API的用法,我也可以提供程式码
作者: serikafan   2019-01-23 13:48:00
中文测试的big5码是A4A4 A4E5 B4FA B8D5,图片中输出看到的 中挦 是 A4A4 E5B4 ,看起来中文是出来了,只是前面多了一个码把第一个A4吃掉造成后面显示出问题
作者: block (blah)   2019-01-24 11:10:00
wcout前加一行 _setmode(_fileno(stdout), _O_WTEXT);
作者: dibery (简哥)   2019-01-26 15:55:00
程式码编码有选UTF8存盘吗

Links booklink

Contact Us: admin [ a t ] ucptt.com