看板 C_and_CPP 關於我們 聯絡資訊
我第一次碰編碼的問題,沒想到這麼麻煩 我想要把utf-8的文字寫入資料庫,一開始就有問題。 我宣告了一個字串,用來存 ( 'になるか' ) wstring MessageUserSend=L"'になるか'"; 可是不管我用wcout顯示在console,還是wofstream寫入檔案都只得到 ( ' ) step-by-step 執行的時候,我看到MessageUserSend的值為<Bad Ptr> 我是用visual studio 2005 有人知道嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.186.76
zlw:http://codepad.org/eGbBkPmn cmd.exe 預設顯示 ANSI 編碼 07/13 17:50
zlw:資料庫只能用 UTF-8 嗎?那就要另外找函數轉換,光這些不行 07/13 17:52
worldxxi:謝謝 很奇怪 雖然顯示的不正確但是寫入資料庫卻是對的= = 07/13 17:56
VictorTom:不會很奇怪吧?? data本身是對的, 只是顯示環境無法支援 07/13 18:06
VictorTom:不是嗎?_? 07/13 18:06
worldxxi:那假如我今天要將wstring的值輸出到檔案也是要用 07/14 08:23
worldxxi:WideCharToMultiByte去轉換後才能顯示嗎? 07/14 08:23
zlw:為什麼會想要用WideCharToMultiByte把原本Unicode的東西轉換? 07/14 08:36
zlw:只要你的編輯器可以顯示Unicode,檔案自然能正確顯示 07/14 08:36
zlw:對了,如果要要讓XP的notepad.exe可以正常,開頭加 0x FF FE 07/14 08:52
worldxxi:那我要怎麼要才能正常輸出到檔案 07/14 09:38
zlw:http://codepad.org/tbask8VP 07/14 09:45
worldxxi:貼上執行後,stream!=NULL Debug Assertion Failed 07/14 10:22
worldxxi:忘了說,我是vs2005 07/14 10:22