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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 字符集造成的效能問題MySql
- 請問一個 authorize的問題
- 最近思考的一個問題
- 一個有趣的鎖問題
- MySQL:一個特殊的問題MySql
- 一個有趣的this指向問題
- 四個常見的Linux面試問題Linux面試
- 更新Linux字符集Linux
- 一個小問題
- 思考一個問題
- 講一個linux服務啟動報錯問題排查Linux
- 故障排除提示:5 個最常見的 Linux 問題Linux
- MySQL 字符集與亂碼與collation設定的問題?MySql
- 遷移ORACLE資料到MogDB/openGauss時的字符集問題Oracle
- linux 最後一個沒有依賴問題的搜狗輸入法Linux
- linux遇到的問題Linux
- 一個“一筆畫”問題的求解器
- 在Linux中,訪問一個站點5xx了,如何定位問題?Linux
- MOGDB/openGauss與PostgreSQL關於GBK字符集問題SQL
- MOGDB/openGauss與PostgreSQL關於GDK字符集問題SQL
- 發現一個問題
- 一個問題諮詢
- 記錄一個問題
- 請教一個問題,
- 一個nvcc編譯的小問題編譯
- 一個CRM OData的效能問題分析
- jmeter 遇到的一個場景問題JMeter
- pl/sql developer的一個小問題SQLDeveloper
- 一個伺服器部署的問題伺服器
- Hibernate 一個更新問題的 討論
- 一個MySQL多表查詢的問題MySql
- 一個毫無道理的iOS問題iOS
- 請教一個struct tag的問題Struct
- 一個RESOURCE MANAGER引起的問題分析
- activiti整合springboot的一個怪問題Spring Boot
- 求問一個 swipe 的問題,請大神們指教
- Linux一個服務被訪問的過程Linux
- 手搓一個兔子問題(分享一個C語言問題,持續更新…)C語言
- Oracle修改字符集前如何找出可能出現問題的資料?Oracle