字符串本地化缺少一些特殊字符

Posted

技术标签:

【中文标题】字符串本地化缺少一些特殊字符【英文标题】:string localisation missing some special characters 【发布时间】:2016-04-03 11:53:02 【问题描述】:

我正在为 c++ 项目进行本地化工作并从“this link”获得参考

在“LocalizationManager.mm”文件中,getLocalizedString 方法为:

std::string LocalizationManager::getLocalizedString(const std::string& key)
 
NSString *str = [NSString stringWithUTF8String: key.c_str()];
std::string s([NSLocalizedString(str, nil) UTF8String]);
return s; 

并在 .cpp 文件中将其称为:

std::string strHighscore = LocalizationManager::getInstance() -> getLocalizedString("best");

这里的问题是,由于某些原因,它没有显示日语或中文的本地化字符串(即空白),并且在使用越南语时缺少一些特殊字符。虽然当然支持其他语言(如德语)。

我的猜测是它必须用 UTF8 做一些事情,但我太初学者了。任何指出我做错的事情都会非常感激。

【问题讨论】:

【参考方案1】:

我的错,

我没有调查我犯的基本错误。我后来在本地化字符串上进行了自定义字体设置,它不支持一些 unicode,包括 ja - zh - vi 等..

道歉!

注意: 我现在使用“simsun.ttc”字体,它似乎支持大多数 unicode。

【讨论】:

以上是关于字符串本地化缺少一些特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

cookie的内容中含有特殊字符

在 sqlite 中本地删除特殊字符

oracle 中的一些特殊字符 ''-''

为啥这个字符串附带一些特殊字符?

C++特殊字符转义序列

在本地工作时,wordpress 页面中的特殊字符无法使用 src 属性