老師在視頻中示範了 MSVC 的寬窄字符亂碼的處理:
(1) 源文件用utf-8來儲存
(2) 在編譯器選項中加入 "/utf-8"
(3) setlocale(LC_ALL, "zh_CN.utf-8")
的確能夠輸出正確的中文字符。如圖:
可是我將環境換成 MinGW 後,並在編譯器選項中加入:
(1) -finput-charset=utf-8
(2) -fexec-charset=utf-8
(3) -fwide-exec-charset=utf-16le
結果卻出現亂碼?? 而且我發現 setlocale 回傳的是 NULL,代表裡面的參數設錯了??? 如圖: