【问题标题】:How can I make my visual studio support more unicode characters?如何让我的 Visual Studio 支持更多 Unicode 字符?
【发布时间】:2020-03-12 04:50:12
【问题描述】:

我在 Visual Studio 2019 中制作的程序有问题。 代码本身,或者算法没有错,因为它按我的意图正常工作。

然而,我遇到了一个问题,因为我正在添加补丁以支持其他语言。 我添加了韩文和西班牙文版本,但韩文版本很好,但西班牙文没有。 如果您可以在我的程序的第一个场景中看到那张照片,英语和韩语字符的输出很好,但对于西班牙语,它被打印为“Espa?ol”,应该打印为“Español” .

我相信这是一些预设问题或缺少语言包(与 Unicode 系统有关)等等,但我找不到任何东西来解决这个问题。 我该如何解决这个问题,让西班牙语字符正常显示?

供您参考,我在 VS2019 中使用 C++,并为所有语句使用“字符串”类型。

我请求您帮助解决这个问题。 感谢您的慷慨。

【问题讨论】:

  • 请显示您用于打印该菜单的代码,以及构成该部分源代码的字节(是的,这很重要)

标签: c++ visual-studio unicode patch


【解决方案1】:

看来你需要两件事:

  1. 为您的 VC++ 项目设置执行字符集。

https://docs.microsoft.com/en-us/cpp/build/reference/execution-charset-set-execution-character-set?view=vs-2019

基本上将编译器选项/utf-8 添加到配置属性、C/C++、命令行。

  1. 更改控制台的代码页。 Visual Studio 将cmd 用于控制台应用程序,cmd 可能无法正确处理 Unicode 字符。 您可以使用 Unicode 代码页从独立的 cmd 执行 .exe 程序:
cmd>chcp 65001
cmd>out.exe
Hello Español!

或者从程序内部调用 chcp 命令。

system("chcp 65001");
cout << "Hello Español!" << endl;

【讨论】:

  • 非常感谢。然而,我怎样才能从一个独立的 cmd 文件中执行我的程序呢?
  • @JustinOh 你能找到你的程序可执行文件在哪里吗?你可以通过Win键+R打开一个新的cmd,输入cmd然后回车。导航到您的可执行文件夹并从那里运行它。
  • 你能解释一下你的解决方案,而不是仅仅分享没有真正帮助的微软文档吗?
  • @Melchia 你没看答案吗?
猜你喜欢
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多