【问题标题】:Windows application ANSI to UnicodeWindows 应用程序 ANSI 到 Unicode
【发布时间】:2012-08-03 09:53:25
【问题描述】:

我犯了一个错误,开发了一个只支持 ANSI 的大型 Windows 应用程序。如果我的应用程序不支持 Unicode,所有的影响是什么?另外,我计划将我的代码迁移到 Unicode。由于任务的关键时间因素,我完全被阻止了,有人可以帮助我吗?

我的目标环境:XP、Windows Vista、Windows 7(32 位和 64 位)。如果我的应用程序只支持英语就足够了,但它应该可以在世界任何地方运行。

注意:我没有从用户那里获得字符串形式的输入。

【问题讨论】:

  • 来自用户的字符串输入是一回事......您是否正在处理位于系统某处的文件,可能在包含无法在旧代码页中表示的字符的路径中?您是否在某处打印可能会导致问号源源不断的本地化消息?有很多地方会伤害你。

标签: c windows windows-7 unicode ansi


【解决方案1】:

如果我的应用程序不支持 unicode,会有什么影响?

它可能无法处理 Unicode in

  • UI 元素(没问题,您的 UI 没有任何文本输入功能)
  • 文件路径
  • 文本文件内容
  • 翻译信息(没问题,你说英语就够了)
  • XML 等文件格式
  • 注册表数据(我认为)

我不会声称列出了所有的影响。我将把它变成一个社区 wiki,随时添加到列表中。

我打算将我的代码迁移到 Unicode? [...] 有人可以帮我吗?

第一句话不是问句,是吗?我怀疑 SO 是否适合寻找可以帮助您移植“大型”应用程序的人,除非您遇到困难时回答具体问题。

【讨论】:

  • 我的应用程序在默认设置为“中文”或“日语”的机器上运行怎么样?我的消息会采用不同的格式吗?
  • ASCII 字符将正确显示,但您可以通过更改用于非 Unicode 程序的语言来测试您的应用程序。在控制面板、区域和语言、管理选项卡、更改系统区域设置中更改它。
  • 在控制面板、区域和语言、管理选项卡中更改它,正如@MarkTolonen 所说,更改系统区域设置已为我工作。不错看kb.parallels.com/en/122755
【解决方案2】:

我想这个 MSDN 链接应该可以帮助您更好地了解使用 unicode。 http://msdn.microsoft.com/en-us/goglobal/bb688113.aspx

另外,请参阅 w3c 文档: http://www.w3.org/International/articles/unicode-migration/

它们几乎涵盖了您问题的大部分答案。

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2014-05-03
    • 1970-01-01
    相关资源
    最近更新 更多