原文: http://blog.163.com/yaning_softwo/blog/static/37837721201171114221611/
下載網址:
http://download.chinaunix.net/download/0002000/1760.shtml
還真不知道怎麼來命名這個文章的標題,我的意思是如何在gbk,gb18030,gb2312,utf8編碼中建立的檔案實現互相轉換。
並不是所有的Linux分發版本都採用一種編碼,比如RedFlag預設採用GB18030的編碼,當然這還不包括自己修改系統預設編碼。因此編碼之間轉換就很有必要了。
編碼轉換分為兩個部分:內容和檔案名稱。
內容的轉換:
iconv顯然是最佳工具,目前支援絕大部分編碼,而且大部分系統內建。不過對GB18030並不能完全支援。
iconv的基本用法:
iconv -f -t -o orig_file
-f, --from-code=名稱 原始文本編碼
-t, --to-code=名稱 輸出編碼
-o, --output=FILE 輸出檔案
當然你可以使用 -l 或者 --list來查查看目前支援的編碼。
檔案名稱的轉換
顯然,convmv是對付這個問題的好工具,他實際上是一個perl程式,不是所有的系統都內建。
使用方法也非常簡單:
convmv -f gb2312 -t utf8 -r --notest *
-r表示包含所有子目錄,並且連帶目錄也轉換
不加--notest就表示只看看有什麼需要轉換的,不做實際轉換
例子:
假設在“/root/wilson/test”有亂碼檔案
[root@localhost test]# convmv -f utf8 -t gb2312 -r --notest *
mv "./4X4閿洏.txt" "./4X4鍵盤.txt"
mv "./Linux涓婹t緙栫▼鍏ラ棬鏁欑▼涓枃鐗堜笅杞??.rar" "./Linux下Qt編程入門教程中文版下載.rar"
mv "./甯哥敤ARM鎸囦護闆嗗強姹囩紪.pdf" "./常用ARM指令集及彙編.pdf"
Ready!
[root@localhost test]# ls
4X4鍵盤.txt Linux下Qt編程入門教程中文版下載.rar 常用ARM指令集及彙編.pdf
=============================================================
其他文章: http://godontop.com/175.html (此部落格還有其它不錯的文章)