linux字符集的一個問題
今天開發人員說,新部署的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造成的問題.
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部落格 ” ,連結:http://blog.itpub.net/32939/viewspace-564898/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux字符集問題Linux
- 問一個jdbc和oracle字符集問題?請大蝦救命JDBCOracle
- 問一個oracle jdbc url的設定字符集的問題,請大蝦救命。OracleJDBC
- 【Linux】一個坑比的crontab問題Linux
- rman在linux下的一個問題Linux
- 一個UTF8字符集相關問題的解決
- 15 個 Linux ls 命令的面試問題(一)Linux面試
- oracle字符集問題Oracle
- MYSQL兩個資料庫字符集保持一致問題MySql資料庫
- mysql 字符集造成的效能問題MySql
- 關於Oracle字符集的問題Oracle
- 字符集合轉換問題
- 一個非技術問題的問題
- asmcmd的一個問題ASM
- 一個jbuilder的問題UI
- 請教mysql中字符集的問題MySql
- oracle imp字符集問題的解決Oracle
- Oracle字符集問題總結Oracle
- 最近遇到的幾個LINUX問題Linux
- 問一個動態物件的問題物件
- 字符集問題的初步探討(七)-字符集更改的內部操作
- MySQL:一個特殊的問題MySql
- 一個struct聚合的問題Struct
- 一個建立物件的問題物件
- 最近思考的一個問題
- 淺談MySQL備份字符集的問題MySql
- 一個版本問題
- 思考一個問題
- 一個小問題
- Oracle資料庫字符集問題Oracle資料庫
- CSSCAN使用說明[字符集問題]CSS
- 問一個基礎的用例問題?
- 一個非常離奇關於LINUX SSH連線的問題Linux
- 一個linux as4 U4 + oracle 10.2.0.3的問題LinuxOracle
- 四個常見的Linux面試問題Linux面試
- linux下幾個問題的除錯Linux除錯
- Linux下使用mozilla的幾個問題Linux
- 一個NBU問題的處理