ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux字符集的一个问题

linux字符集的一个问题

原创 Linux操作系统 作者:liujinwei633 时间:2009-03-09 13:37:48 0 删除 编辑
    今天开发人员说,新部署的weblogic系统生成的xml文件发布出来中文是乱码。经检查发现如下:
        1.3台weblogic集群的机器都有同样的问题。
        2.而原有系统上的xml文件正常。
        3.将此乱码文件ftp下来直接用文本编辑器打开,中文能正常显示。
        4.将原来服务器的xml文件ftp到新的服务器上,也正常。
        5.将新服务器上有问题的xml传到原来的服务器,不能正常解析。
         6.新旧服务器上xml文件的内容一致
        
感觉可能是xml文件生成时出的问题,可能是新旧服务器上xml文件的字符集不同。
旧服务器上
[root@test1 ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

而在新服务器上
[root@bbs ~]# locale
LANG=zh_CN
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=

怎么没有了utf8了呢???
检查i18n,发现新旧机器上都是 LANG=zh_CN.UTF-8
修改新机器的i18n,发现不管改成什么,都不起作用。怀疑是i18n后别的地方又设置了LANG

  1.检查用户目录下的profile,没有发现
 2.检查/etc/profile发现:它依次去执行/etc/profile.d目录下的脚本.检查这些脚本,发现其中有个lang.sh脚本读取了i18n的设置;继续检查profile脚本,结果在脚本最后发现了如下:
  LANG=c
  LANG=zh_CN

注释掉这两行,系统终于正常了.

shit,某些人随便修改/etc/profile造成的问题.
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/32939/viewspace-564898/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-11

  • 博文量
    17
  • 访问量
    55800