我正在开发一种多语言软件(第一次使用除英语之外的任何其他语言).
我已经制作了读取多个本地化文件的代码,然后用户选择了他们的语言,并使用了本地化文件.
这一切都很好,花花公子,但当我尝试显示外语(如韩语)的符号时,它没有显示正确的符号.
我需要做些什么特别的事情来将中文,韩文,日文等存储到字符串中吗?我的一个韩国本地化文件看起来像这样....
[Labels]
Username=??? ??
Password=??
Run Code Online (Sandbox Code Playgroud)
所以在我的代码中我有一个函数可以得到像这样的指定字符串...
const std::string& UsernameLabel = GetLocalizationString("Korean", "Labels", "Username");
const std::string& PasswordLabel = GetLocalizationString("Korean", "Labels", "Password");
Run Code Online (Sandbox Code Playgroud)
问题的根源在于std::string它处理chars(在大多数情况下等于1个字节).一旦计划开发多语言软件,就必须执行以下操作之一:
std::wstring因为它处理"宽字符"(通常在Windows上2个字节).容易做,涵盖大多数情况.更新:另外,您可能会发现此讨论很有用:std :: wstring VS std :: string
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |