[問題] 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