[問題] 請問wstring格式存的字消失了

看板C_and_CPP (C/C++)作者 (風)時間16年前 (2009/07/13 16:39), 編輯推噓5(509)
留言14則, 3人參與, 最新討論串1/2 (看更多)
我第一次碰編碼的問題,沒想到這麼麻煩 我想要把utf-8的文字寫入資料庫,一開始就有問題。 我宣告了一個字串,用來存 ( 'になるか' ) wstring MessageUserSend=L"'になるか'"; 可是不管我用wcout顯示在console,還是wofstream寫入檔案都只得到 ( ' ) step-by-step 執行的時候,我看到MessageUserSend的值為<Bad Ptr> 我是用visual studio 2005 有人知道嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.186.76

07/13 17:50, , 1F
http://codepad.org/eGbBkPmn cmd.exe 預設顯示 ANSI 編碼
07/13 17:50, 1F

07/13 17:52, , 2F
資料庫只能用 UTF-8 嗎?那就要另外找函數轉換,光這些不行
07/13 17:52, 2F

07/13 17:56, , 3F
謝謝 很奇怪 雖然顯示的不正確但是寫入資料庫卻是對的= =
07/13 17:56, 3F

07/13 18:06, , 4F
不會很奇怪吧?? data本身是對的, 只是顯示環境無法支援
07/13 18:06, 4F

07/13 18:06, , 5F
不是嗎?_?
07/13 18:06, 5F

07/14 08:23, , 6F
那假如我今天要將wstring的值輸出到檔案也是要用
07/14 08:23, 6F

07/14 08:23, , 7F
WideCharToMultiByte去轉換後才能顯示嗎?
07/14 08:23, 7F

07/14 08:36, , 8F
為什麼會想要用WideCharToMultiByte把原本Unicode的東西轉換?
07/14 08:36, 8F

07/14 08:36, , 9F
只要你的編輯器可以顯示Unicode,檔案自然能正確顯示
07/14 08:36, 9F

07/14 08:52, , 10F
對了,如果要要讓XP的notepad.exe可以正常,開頭加 0x FF FE
07/14 08:52, 10F

07/14 09:38, , 11F
那我要怎麼要才能正常輸出到檔案
07/14 09:38, 11F

07/14 09:45, , 12F

07/14 10:22, , 13F
貼上執行後,stream!=NULL Debug Assertion Failed
07/14 10:22, 13F

07/14 10:22, , 14F
忘了說,我是vs2005
07/14 10:22, 14F
文章代碼(AID): #1AMlBN57 (C_and_CPP)
文章代碼(AID): #1AMlBN57 (C_and_CPP)