Linux linux下多字节字符或宽字符问题的解决

linux下多字节字符或宽字符问题的解决

在wc的时候,发现:wc: *.cpp:8: Invalid or incomplete multibyte or wide character无法统计行数,而且在source insight中打开也是乱码。由于代码是合作编写的,在对方机器上正常,推测又是语言配置的问题。最后通过反复尝试改LANG成功支持了。LANG=”en_US.UTF-8:en_US”必须同时设置这

wdt3385  ·  2012-11-19 13:49:43 发布
在wc的时候,发现:

wc: *.cpp:8: Invalid or incomplete multibyte or wide character

无法统计行数,而且在source insight中打开也是乱码。由于代码是合作编写的,在对方机器上正常,推测又是语言配置的问题。

最后通过反复尝试改LANG成功支持了。
LANG=”en_US.UTF-8:en_US”
必须同时设置这两种,每种单设都不能解决…原因未知

这里记录一下方法以及其中了解的一些技术点:

1. locale中各种优先级:LC_ALL优先级最高,然后是每个本地设置比如LANGUAGE,CTYPE,最后是LANG
2.LANG的常用设置,可以解决编译及系统显示信息的乱码问题,甚至有个别程式运行会出错,不过页面空白,显示不出信息,后台报xml解析的时候转换的某种错误,主要是字符集转换导致空值造成的。

LANG设置成:LANG=”en_US.UTF-8:en_US:en_US.ISO-8859-1″
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN:en:en_US:en_US.UTF-8″
SUPPORTED=”zh_CN.GB18030:zh_CN:zh:zh_TW.Big5:zh_TW:zh:en_US.UTF-8:en_US:en:en_US.ISO-8859-1″

Logo

更多推荐

  • 浏览量 4369
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献3条内容