中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux漢字亂碼的解決辦法是什么呢

發布時間:2021-12-07 17:15:32 來源:億速云 閱讀:633 作者:柒染 欄目:系統運維

Linux漢字亂碼的解決辦法是什么呢,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

在Linux下,你有沒有這樣的經歷,文本文件里面的漢字顯示都是正常的,可一插到數據庫里就變成了亂碼;文件名在本機顯示都很正常,一傳到服務器上顯示的都變成亂碼了,最近就差點被這個問題搞死,還算小有收獲,這里寫一下心得:

1,首先要知道文件自己的編碼方式,就是文件是以utf8還是以gbk等編碼方式存儲的,因為這是根本。以xxx.dat文件為例

用vi命令打開xxx.dat文件

在命令行模式:輸入set fileencoding 這時會在終端的底部顯示文件的編碼方式,顯示的結果如果是cp936(等同于gbk)或者utf8等,那說明文件的編碼方式已經被正確判斷出來了,如果是latin1,我們就可能要設定VI的fileencodings這個環境變量的值,打開vimrc這個文件,RHEL的這個文件在/etc目錄下、Ubuntu在/etc/vim目錄下;或者你也可以建一個~/.vimrc文件

然后把里面merge成:set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 然后重新vi xxx.dat

PS:我們打開文件的時候, VIM 按順序使用 fileencodings 中的編碼進行嘗試解碼, 如果成功的話, 就使用該編碼方式進行解碼, 并將 fileencoding 設置為這個值, 如果失敗的話, 就繼續試驗下一個編碼。而latin1 是一種非常寬松的編碼方式, 任何一種編碼方式得到的文本, 用 latin1 進行解碼, 都不會發生解碼失敗 —— 當然, 解碼得到的結果自然也就是理所當然的“亂碼”

2,下一個比較重要的就是LANG這個環境變量了(關于這個變量的含義和作用自己百度,可以搜出一堆)

假如xxx.dat是以utf8編碼,往數據庫里插的時候,我們就需要把LANG這個環境變量設成LANG=zh_CN.utf8,如果xxx.dat是以cp936、LANG就需要設成LANG=zh_CN.gbk

這樣在插入的時候,就不需要用程序對文件的字符進行轉換,可以直接插入

PS:用locale -a命令查看可以把LANG設成哪些值,locale -m 查看系統支持哪些字符集,假如locale -a沒有你所需要的值,比如zh_CN.gbk,那就需要手動安裝,安裝方法也很簡單

a. sudo cp /var/lib/locales/supported.d/local /var/lib/locales/supported.d/local.old【可選,備份】

b. sudo cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

編輯/var/lib/locales/supported.d/local去掉大多數不用的行(locales)

c. sudo dpkg-reconfigure locales

編輯/etc/environment文件,設置一下要用的LANG

也可以用locale-gen命令設置默認的locale,如sudo locale-gen zh_CN.UTF-8

3,還有一個同事,LANG環境變量(這里要注意環境變量生效的范圍)也已經改過了,把windows的文件重新傳到了Linux服務器上,通過網頁瀏覽,文件名仍然是亂碼,這是因為LANG還未在apache服務器上生效,重啟一下apache服務就可以了

看完上述內容,你們掌握Linux漢字亂碼的解決辦法是什么呢的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁蒗| 沧州市| 吴川市| 墨竹工卡县| 太谷县| 额尔古纳市| 高邑县| 武定县| 黑山县| 绥滨县| 静安区| 万年县| 富平县| 金寨县| 五华县| 县级市| 新闻| 德惠市| 南昌县| 姚安县| 永善县| 蓝田县| 青海省| 图木舒克市| 石阡县| 桃源县| 大宁县| 平安县| 德兴市| 嘉峪关市| 阜平县| 临江市| 佛山市| 泗洪县| 永善县| 海阳市| 平遥县| 宁乡县| 青铜峡市| 金塔县| 奉贤区|