首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFileDialog getpathName不会读日语

CFileDialog getpathName不会读日语
EN

Stack Overflow用户
提问于 2011-11-09 20:13:23
回答 1查看 1.2K关注 0票数 2

我有一个日语文件夹名称。选择文件夹时返回一些问号的CFileDialog getpathNameis。有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-10 15:54:16

如果您应用程序是使用MBCS支持而不是Unicode支持构建的,则只有当您的“用于非Unicode程序的语言”(也称为系统区域设置)设置为日语时,日语路径才会被正确处理,这对于您的日语用户是这样的,但如果您不是日语用户,则可能不是这样。

如果您的系统区域设置不是日语,则在GetPathName()返回之前,路径将转换为您的代码页。它将包含替换项(?)字符或垃圾。很可能两者兼而有之。

以下是一些可用的可能性:

  1. 什么都不要做。你的应用程序应该可以很好地为大多数日本用户工作。或者不是...
  2. 在日语代码页下测试您的应用程序。为此,要么临时更改非Unicode程序的语言(需要重新启动),要么(更容易)在AppLocale下测试您的应用程序。(注:是的,它在Windows7下运行得很好。如果你有problems).
  3. Switch to Unicode,就可以使用This article may help。根据代码库的大小,这可能是一项非常乏味的任务,主要取决于输入和输出,以及代码中是否使用_T("blah")字符串文字。当然,它还有更多的方面,但这些方面是最重要的。顺便说一句,所有的新项目都应该考虑到Unicode支持。
  4. 专门处理这个路径问题。因为我们说的是一个文件对话框,所以整个对话框应该以Unicode的形式打开。这意味着您可能必须显式地调用底层Win32 API的Unicode版本,而不是简单地调用CFileDialog。这并不复杂,但风险在于你只解决了连续的第一个问题。在你有了正确的日语路径后,你必须处理用户输入的日语文本,...所以我不认为这是一个好的解决方案。

解决方案#2当然是识别小问题的最快方法。从长远来看,解决方案#3肯定是最好的。但要确保你真的需要它,因为它对现有的应用程序来说可能是乏味的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8064862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档