代码页面和区域设置可以不同吗?

时间:2013-12-13 12:24:05

标签: locale icu

在Windows 7(64位)上,我将Japan设置为区域设置。在命令提示符下面反映: LC_ALL:English_United States.1252 LC_CTYPE:English_United States.1252 chcp命令:活动代码页:932(日语)

我的问题是在使用ICU库将wchar_t *转换为char *时应该使用默认转换器?在这种情况下使用“US-ASCII”,我在char *中得到垃圾结果。输入:wchar_t *包含日文字符

1 个答案:

答案 0 :(得分:1)

来自ICU documentation

  

根据系统设计,设置和API,可能并非总是如此   可以找到一个完全按预期工作的默认代码页......

     

如果您有办法检测更多的默认代码页名称   适合您的应用程序,然后您应该设置该名称   ucnv_setDefaultName()作为第一个ICU函数调用。这确保了   内部缓存的默认转换器将从中实例化   你的首选名字。