| |||||||
adm | Find | login register |
compile 成 UNICODE 的程式用 wprintf("%c", wide_char) 理論上應該可以在 console 顯示,實際上只能顯示 ASCII or ANSI MBCS ,造成 debug 不方便,必須 log to file,然後用 notepad 看。 看起來目前 windows XP 不支援 unicode (UTF-16) console,沒試過 在 vista or windows 7 有沒有問題。 在 Linux 只要開個 unicode console (UTF-8) 就好了。 edited: 1
| |||||||||||||
| |||||||||||||
Thanks, 我要顯示的是 1200 (UTF-16),不過還沒試過 chcp 有沒有問題 在 Windows unicode 的程式開 console,有設定 code page 1200 連顯示一般的 ascii 的 wide char 都會多一個空白。
AllocConsole(); edited: 1
| |||||||||||||
chcp 1200出現「無效字碼頁」的訊息,看起來 console 完全不支援 UTF-16,卻支援 UTF-8,真是爆笑,windows NT 不是號稱全部用 UTF-16? 難道我要改成console 用UTF-8 顯示 ?試了一下,轉成 UTF-8 也是不行。 edited: 2
| |||||||||||||
http://www.mail-archive.com/unicode@unicode.org/msg12236.html
如果照這裡說的執行 cmd /u呢 我的測試方法,開notepad,打中文,存成unicode跟utf-8 cmd /u type unicode.txt 可以正確顯示 type utf8.txt 不知道怎樣都顯示不出來。 字型改成新細明體就可以了,可是開頭跟結尾會出現方塊,開頭是bom,結尾是...?
環境windows xp。 為什麼一定要用utf-16不可呢? 去抓iconv redirect給他叫他幫你轉碼呢...可是我不知道windows怎麼pipe edited: 2
| |||||||||||||
用來 print debug message 用的,我有把 UTF-16 用 WideCharToMultiByte 轉成 UTF-8,還是不行。 edited: 1
|
| |||||||
adm | Find | login register |