最近一段時間遇到一些潤乾的應用在linux系統下面亂碼的問題,最后檢查后都發現是客戶的linux系統默認編碼設置的不正確造成的,這種原因造成亂碼的現象一般都是程序里面寫死了的中文字符能正常展現,但是從數據庫中取出來的或者從程序中讀出來的中文字符就會出現亂碼。
下面就介紹一下由于linux系統編碼設置不正確造成潤乾報表應用亂碼問題的解決辦法。
第一步:檢查linux的系統編碼。
檢查linux的系統編碼,確定系統是否支持中文。在linux系統的終端中輸入命令:locale,就會看到打印出的系統編碼信息。如果打印出來的信息如下,則說明系統的編碼不支持中文:
LANG=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
第二步:修改系統默認編碼設置
如果發現系統編碼不支持中文的話,那么就要修改系統編碼,使其支持中文,這樣潤乾報表的中文在應用中才不會亂碼。
修改系統編碼的方法如下:
/etc/sysconfig/i18n
Controls the system font settings. The language variables are used in /etc/profile.d/lang.sh. An example i18n file:
LANG=”en_US.GB18030″
LANGUAGE=” en_US.GB18030: en_US.GB2312: en_US “
SUPPORTED=” en_US.GB18030: en_US:en:en_US.UTF-8:en_US:en”
SYSFONT=”lat0-sun16″
以上是系統的默認字符集是英文的如果要把字符集設置成支持中文的,可以通過設置這個文件來改變系統的默認字符集。
另外,也可在用戶的環境變量或者用戶的環境變量文件加入路徑變量的聲明:
在系統的預處理文件中聲明,這樣對整個系統起作用:
#vi /etc/profile
在文件尾加入
LC_ALL=”zh_CN.GBK“
export LANG=”zh_CN.GBK“
在用戶的預處理文件中聲明,對單獨的用戶起作用:
#vi /root/.bash_profile
在文件尾加入
export LC_ALL=”zh_CN.GBK“
export LANG=”zh_CN.GBK“
以上配置重新啟動服務器使更改生效。
第三步:查看修改過的系統默認編碼。
通過以上步驟的操作然后重啟電腦,再在終端中輸入命令:locale,然后就會看到系統的字符集信息變化了
這樣系統編碼就支持中文了,經過以上修改,由于系統默認編碼不支持中文造成的亂碼就可以順利解決了。
以上就是小編為大家帶來的linux下因為系統編碼問題造成亂碼的快速解決方法全部內容了,希望大家多多支持VEVB武林網~
新聞熱點
疑難解答