2012-09-18 73 views
0

我想將字符串從ANSII轉換爲寬字符。我正在使用內部使用MultiByteToWideCharCA2W(string,CP_UTF8)MultiByteToWideChar將(°)度數符號轉換爲

調試時顯示MultiByteToWideChar將°度符號轉換爲 。

有關如何解決此問題的任何建議?

+7

代碼或它沒有發生... – nneonneo

+0

我無法理解您的意見,請詳細說明。 – anand

+0

發佈您正在使用的代碼,否則任何人都無法理解問題或提供任何建議。 – nneonneo

回答

0

MultiByteToWideChar從給定的編碼轉換爲UTF-16(即寬字符)。您需要確保指定源的正確編碼,可能不是UTF-8。

由於UTF-8通過ASCII碼進行編碼的方式,0x7f表示BYTE是多字節字符序列的一部分,除非該序列被正確指定將導致'?'。在多字節序列編碼的更多信息可以在這裏找到: http://en.wikipedia.org/wiki/UTF-8

基本上,你的源編碼可能是基於系統的當前代碼頁,所以你需要在調用的MultiByteToWideChar時指定CP_ACP。

+0

謝謝有問題是來源。 – anand