在我的MFC應用程序,字符集設置爲「多字節」,我試圖加載一個日語字符串存儲在字符串表使用LoadStringW函數加載字符串表中的字符串,但它總是讀取垃圾字符。MFC LoadStringW是不是從字符串表正確加載日語字符串
您看到我的方法有問題嗎?
我不想將字符集更改爲Unicode。
另一個有趣的事情是,我創建了另一個示例應用程序,並將主項目中的一個日文字符串粘貼到新示例應用程序的字符串表中,然後嘗試使用LoadStringW加載日文字符串,然後運行(字符集是示例應用程序的Multibyte )
WCHAR wBuf[1024];
int rc;
// load the string from resource file into a wide character array.
rc = LoadStringW(hInstance,iResourceID, wBuf, 1024);
字符串資源總是存儲在UNICODE中,所以我不認爲字符集項目設置是這裏的罪魁禍首。你能用調用'LoadStringW()'的代碼更新你的問題嗎? –
感謝您發佈代碼。它看起來很好,但是你在調用之後是否檢查了'rc'是否爲非零? –
呼叫後'rc'不爲零。還有一種觀察是,字符串表視圖(行視圖)中的日語字符顯示垃圾字符,但如果您在記事本++中打開相同的文件,則它會顯示正確的日語字符串。 – Rahul