在Windows 控制台中正確顯示UTF-8 字元
許多嘗試使用傳統方法在Windows 控制台中顯示UTF-8 字元均失敗正確渲染擴充字元。
失敗的嘗試:
使用 MultiByteToWideChar() 和 wprintf() 的一種常見方法被證明是無效的,只留下 ASCII 字元可見。此外,使用 SetConsoleOutputCP() 將控制台輸出代碼頁設為 CP_UTF8 並直接使用 ASCII 字元寫入仍然會導致字元損壞。
成功方法:
最終,三種方法證明成功:
CP_UTF8 失敗的原因:
CP_UTF8 的根本問題是由於控制台不充當接受位元組流的典型檔案而引起的。相反,控制台 API 以離散單位處理數據,導致在單獨呼叫中傳輸時多位元組字元被錯誤解釋。
以上是以下是一些適合您文章的基於問題的標題: **直接簡潔:** * **如何在Windows控制台中正確顯示UTF-8字元? ** ** * **為什麼傳統方法無法顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!