我在日本一個文件夾名稱。 CFileDialog getpathNameis
當文件夾被選中時返回一些問號。有什麼方法可以解決它?的CFileDialog getpathName不讀日本
2
A
回答
2
如果您的應用建立與MBCS支持而非Unicode支持,日本的路徑將被正確處理只有(又名系統區域)的「的非Unicode程序語言」設置爲日語,這是對於日本用戶來說,如果你不是日本人,可能不適合你。
如果您的系統語言環境是不是日本人,之前它被GetPathName()
返回的路徑被翻譯成你的代碼頁。它將包含替換(?)字符或垃圾。最有可能的是兩者的結合。
這裏可用幾種可能性:
不要做任何事情。日本的大多數用戶應用程序應該能正常工作。或不...
測試日語代碼頁下您的應用程序。爲此,要麼暫時將語言更改爲非Unicode程序(需要重啓)或者(更容易)在AppLocale下測試您的應用程序。 (注意:如果你有問題,可以在Windows 7下運行。)This article may help。
其切換爲Unicode。根據代碼庫的大小,這可能是一項非常單調乏味的任務,主要取決於輸入和輸出以及代碼中是否使用
_T("blah")
字符串文字。當然,它有更多的方面,但這些是最重要的。順便說一句,所有新項目都應該考慮到Unicode支持。處理這個路徑問題具體。由於我們講的是文件對話框,整個對話框應該以Unicode形式打開。這意味着您可能必須明確地調用底層Win32 API的Unicode版本,而不是簡單地調用
CFileDialog
。這並不複雜,但風險在於你只能連續解決第一個問題。在你的日語路徑正確之後,你必須處理用戶輸入的日文文字,......所以我認爲這個解決方案不是一個好的解決方案。
解決方案#2無疑是識別小問題的最快方法。從長遠來看,解決方案#3肯定是最好的。但要確保你真的需要它,因爲現有的應用程序可能很乏味。
相關問題
- 1. CVCaptureFromFile不CFileDialog的
- 2. C++ MFC CFileDialog不會保存
- 3. MFC的CFileDialog和lpstrInitialDir
- 4. CFileDialog延遲崩潰
- 5. MFC的CFileDialog不要在Windows 2000
- 6. 如何正確使用CFileDialog
- 7. 異常帶的CFileDialog(MFC)
- 8. 經典ASP getPathName和getName錯誤
- 9. 關於MFC CFileDialog問題
- 10. 自定義的CFileDialog在Visual Studio 2013(MFC)
- 11. 顯示XP樣式的CFileDialog在Windows 7
- 12. 閱讀網站,有日本
- 13. 與CFileDialog的實例化問題
- 14. 錯誤使用CFileDialog的打開文件
- 15. MFC的CFileDialog從打開* .ext.other_ext文件
- 16. CFileDialog的當前目錄在.exe和.dll中不一致
- 17. MFC CFileDialog只打開選擇文件
- 18. 自定義CFileDialog錯誤消息
- 19. xaxis上的日期是不可讀的
- 20. 不可讀的文本
- 21. PowerShell:讀取PowerShell腳本日誌
- 22. 閱讀日誌bash腳本時出錯
- 23. php讀取大文本文件日誌
- 24. 閱讀本地事件日誌?
- 25. Oracle.ManagedDataAccess讀取的DST日期不正確
- 26. Excel的日期欄不正確讀取
- 27. 不能在日本
- 28. 將文件夾添加到CFileDialog的邊欄中
- 29. 這是Microsoft CFileDialog示例導致潛在的內存違規
- 30. Webstart不讀本地文件
代碼片段?您的應用是否啓用了Unicode支持? –
這是Visual-C++(或其他?)相關的問題,而不是一般的C++。更具體的標籤可以幫助有能力回答這個問題的人看到它,幫助其他社區成員找到問題,並增加獲得答案的機率。這是一個雙贏;] – friendzis
你怎麼知道'GetPathName'沒有返回日文字符?問題出現在顯示結果的代碼中,而不是在'GetPathName'本身中嗎? –