linux服務器默認使用中文字符集zh_CN.UTF-8


linux服務器默認使用中文字符集zh_CN.UTF-8

一.問題描述和相關概念

    linux服務器的字符集設置可能影響到網站頁面出現 “???” 等問號亂碼,還有可能導致文件中的漢字部分出現亂碼。

    locales設置:語言設置選項
   linux真的是一個非常強大的系統,windows如果要更改語言系統,必須要重新安裝軟件, 這就是windows存在多國語言版 的原因。而linux非常方便,我們可以通過locales設置,將linux從英文版更改為中文版,下面我們來看看如何更改語言設置。

二.原因

簡單的說是因為服務器沒有安裝zh_CN.UTF-8 字符集,導致不支持中文!

locale   //執行這個命令,查看和語言編碼有關的環境變量

顯示如下:

LANG=

LANGUAGE=en_US:en

LC_CTYPE="POSIX"

LC_NUMERIC="POSIX"

LC_TIME="POSIX"

LC_COLLATE="POSIX"

LC_MONETARY="POSIX"

LC_MESSAGES="POSIX"

LC_PAPER="POSIX"

LC_NAME="POSIX"

LC_ADDRESS="POSIX"

LC_TELEPHONE="POSIX"

LC_MEASUREMENT="POSIX"

LC_IDENTIFICATION="POSIX"

LC_ALL=

 

可以看到大多數都默認為POSIX 類型的,這時可以改服務器的默認字符集為zh_CN.UTF-8(我測試過改了沒問題哦,可以解決漢字亂碼問題。如果能通過設置SecureCrt等終端可以解決的話,就沒必要改了)

三.解決辦法

環境:Ubuntu 12.04.5 LTS \n \l

1.安裝基本的軟件包(第2步安裝 zh_CN 中文字符集時要用到)

sudo apt-get update     //ubuntu系統更新軟件包列表

sudo apt-get install  -y language-pack-zh-hans

sudo apt-get install -y language-pack-zh-hant

2.

cd /usr/share/locales    

sudo ./install-language-pack zh_CN   //開始安裝zh_CN中文字符集

3.  編輯 sudo vim /etc/environment     //環境變量配置文件

 添加下面zh_CN.UTF-8有關的環境變量,添加完就變成默認的了哦:

 

LANG=zh_CN.UTF-8

LANGUAGE=en_US:en

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=zh_CN.UTF-8

 

4.重新登錄一次shell  

source /etc/environment   //使剛才添加的環境變量生效。如果不重新登錄shell的話,執行此命令可能會報錯哦,我試過了!

 

四.簡單看下成果

1.locale 命令看下輸出結果吧!

2.也可以進入  /var/lib/locales/supported.d

cat local

顯示:

en_US.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8

而沒有安裝中文之前只顯示:

en_US.UTF-8 UTF-8

注:locale -a 可以查看操作系統支持的字符集。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM