我想將字符串從ANSII轉換爲寬字符。我正在使用內部使用MultiByteToWideChar
的CA2W(string,CP_UTF8)
。MultiByteToWideChar將(°)度數符號轉換爲
調試時顯示MultiByteToWideChar
將°度符號轉換爲 。
有關如何解決此問題的任何建議?
我想將字符串從ANSII轉換爲寬字符。我正在使用內部使用MultiByteToWideChar
的CA2W(string,CP_UTF8)
。MultiByteToWideChar將(°)度數符號轉換爲
調試時顯示MultiByteToWideChar
將°度符號轉換爲 。
有關如何解決此問題的任何建議?
MultiByteToWideChar從給定的編碼轉換爲UTF-16(即寬字符)。您需要確保指定源的正確編碼,可能不是UTF-8。
由於UTF-8通過ASCII碼進行編碼的方式,0x7f表示BYTE是多字節字符序列的一部分,除非該序列被正確指定將導致'?'。在多字節序列編碼的更多信息可以在這裏找到: http://en.wikipedia.org/wiki/UTF-8
基本上,你的源編碼可能是基於系統的當前代碼頁,所以你需要在調用的MultiByteToWideChar時指定CP_ACP。
謝謝有問題是來源。 – anand
代碼或它沒有發生... – nneonneo
我無法理解您的意見,請詳細說明。 – anand
發佈您正在使用的代碼,否則任何人都無法理解問題或提供任何建議。 – nneonneo