在windows上使用ftp上傳檔案到linux上,中文名稱在linux系統中顯示為亂碼。雖然將linux的env設定了lang=en_us.utf並且本地的shell客戶端編碼也設定成utf-8,但在shell中(或通過http訪問),仍是亂碼……
原因在於,windows 的檔名中文編碼預設為gbk,壓縮或者上傳後,檔名還會是gbk編碼,而linux中預設檔名編碼為utf8,由於編碼不一致所以導致了檔名亂碼的問題,解決這個問題需要對檔名進行轉碼。
yum install convmv
convmv -f gbk -t utf-8 -r --notest /home/wwwroot
常用引數:
-r 遞迴處理子資料夾
–notest 真正進行操程式設計客棧作,預設情況下是不對檔案進行真實操作
–list 顯示所有支援的編碼
–unescap 可以做一下轉義,比如把%20變成空格
-i 互動模式(詢問每乙個轉換,防止誤操作)
linux下有許多方便的小工具來轉換編碼:
majrgpyeyx文字程式設計客棧內容轉換 iconv
檔名轉換 convmv
m程式設計客棧p3標籤轉換 python-mutagen
本文標題: centos 下中文檔名顯示亂碼問題
本文位址:
CentOS 下中文檔名顯示亂碼
在windows上使用ftp上傳檔案到linux上,中文名稱在linux系統中顯示為亂碼。雖然將linux的env設定了lang en us.utf 8,並且本地的shell客戶端編碼也設定成utf 8,但在shell中 或通過http訪問 仍是亂碼 原因在於,windows 的檔名中文編碼預設為g...
CentOS 中文檔名變成?
首先locale檢視系統當前的語言環境 lc all是乙個巨集,該值是可以不設定的,感覺問題應該處在lc ctype上。根據鏈結上的回答,lc ctype utf 8 是乙個無效的locale name,按照gunnar hjalmarsson所說,應把環境變數中的lc ctype utf 8 這一...
CentOS系統下中文檔名亂碼
從windows上傳到linux的檔案或者目錄,在linux系統中顯示為亂碼。雖然將linux的env設定了lang en us.utf 8,並且本地的shell客戶端編碼也設定成utf 8,但在shell中 或通過http訪問 仍是亂碼 原因在於,windows 的檔名中文編碼預設為gbk,壓縮或...