[心得] 幾個編譯器面對"編碼"這件事

看板C_and_CPP (C/C++)作者 (阿怪)時間18年前 (2006/08/02 19:33), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/2 (看更多)
很有趣 我試了幾個版本 因為看到中文除錯訊息所以一時手賤就殺進了VC2005 主要是一個console跟畫出一個無意義的視窗 我原本以為 是編譯器對雙位字不支援 才會印出怪東西 後來比對過Code::Block (他的好處是可以叫不同的compiler來build同一個專案) 亂碼依舊 只有devcpp順利的輸出了正確的中文 而有趣的地方在於 這幾個檔案用NotepadPlus來看 會發現 過得去的都是"以asni格式儲存" 轉成UTF後 字串中的中文 會變成"顯示出來的亂碼" 所以 這個故事是說 VC跟GCC所謂的"支援Unicode" 事實上仍然是以ansi的方式在建造檔案的 抑或是 我該在什麼地方補上什麼參數嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.134.65

08/02 20:16, , 1F
把CB的文字編輯器設成UTF8看看, gcc可以吃unicode
08/02 20:16, 1F

08/03 01:46, , 2F
可以PO出你測試的原始碼嗎?
08/03 01:46, 2F

08/03 10:24, , 3F
不是吧,是 windows 的 console 就不支援顯示 Unicode
08/03 10:24, 3F

08/03 10:25, , 4F
你傳給他 Unicode 他當然給你亂碼(而且還是用 big5
08/03 10:25, 4F

08/03 10:25, , 5F
解讀成的亂碼)
08/03 10:25, 5F

08/03 13:39, , 6F
win2K&XP的console可以顯示Unicode
08/03 13:39, 6F

08/03 16:55, , 7F
要怎麼顯示? 前提也要它知道那是 Unicode 吧
08/03 16:55, 7F

08/03 17:47, , 8F
呵呵~~原來要用 windows api 的 WriteConsoleW
08/03 17:47, 8F

08/03 18:43, , 9F
上面這位先生可以再說的仔細一點嗎
08/03 18:43, 9F
文章代碼(AID): #14q8rror (C_and_CPP)
文章代碼(AID): #14q8rror (C_and_CPP)