記一次中文亂碼解決過程

來源:互聯網
上載者:User

先說一下現象:瀏覽器顯示中文是亂碼。

為什麼會顯示亂碼呢。

首先:亂碼頁面對應的是一個html檔案,並且html檔案也是用的utf-8格式的編碼,並且檔案內容顯示正常,無中文亂碼問題;

其次:通過如下操作修改瀏覽器編碼,無論如何始終都是亂碼




排除了B(browser)端問題,那就應該是S(server)端的問題了,接下來就通過SSH Secure Shell Client工具登入上linux伺服器,找到應用的部署目錄,並找到對應的那個html檔案,使用vi開啟一開,是亂碼,找到問題了,檔案本身就是亂碼,瀏覽器上顯示亂碼就不奇怪了。接下來開始解決問題,索性,我就把本地的顯示正常的檔案通過SSH Secure File Transfer Client工具上傳到伺服器上並覆蓋掉原來的html檔案,開啟瀏覽器,重新登入,查看,居然還是亂碼。

趕快開啟伺服器上的html檔案,發現跟原來一樣:中文全部顯示亂碼。難道沒有替換成功。重新剛才的替換操作,同時使用ll命令查看html檔案詳細資料,最後修改時間跟目前時間完全一致,確定是被我本地的檔案替換過了,結果開啟瀏覽器,一樣是亂碼,再到伺服器上查看html還是亂碼!


思考:應該是作業系統環境的問題,作業系統應該不支援中文。帶著這個懷疑查看了作業系統的相關資訊,結果如下:

# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.5 (Santiago)
Release:        6.5
Codename:       Santiago

#vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"


查看預設顯示的字元編碼,發現:
# echo $LANG
en_US.UTF-8


找到問題了。修改/etc/sysconfig/i18n檔案內容為:

# vi  /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030" 
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" 
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" 
SYSFONT="lat0-sun16"


再次進行操作:

# echo $LANG
zh_CN.GB18030

重新把本地的檔案上傳到伺服器上替換掉原來的老檔案,vi開啟,中文顯示正常,開啟瀏覽器,查看,亂碼問題解決。

這裡有個很小的插曲:修改完如上配置後,我用vi開啟那個檔案時,中文是正常的,但是用cat查看卻仍然是亂碼。解決方案很簡單,即修改用戶端工具SSH Secure Shell Client編碼即可,如下圖所示:




原因是:cat是根據用戶端工具的編碼來顯示內容的,而vi是根據伺服器的編碼來顯示內容的。


結論:其實作業系統是支援中文的,只是配置不當導致無法顯示中文。將系統語言改為:LANG=zh_CN.UTF-8也可以。

要查看系統支援的語言,可以使用如下命令查看:locale -a。

如果以後發現其他中文亂碼問題,可以如法炮製即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.