從linux往 windows拷貝檔案或者從windows往Linux拷貝檔案,有時會出現中文檔案名亂碼的情況,出現這種問題的原因是因為,windows的檔案名 中文編碼預設為GBK,而Linux中預設檔案名編碼為UTF8,由于編碼不一緻,是以導緻了檔案名亂碼的問題,解決這個問題需要對檔案名進行轉碼。
在Linux中專門提供了一種工具convmv進行檔案名編碼的轉換,可以将檔案名從GBK轉換成UTF-8編碼,或者從UTF-8轉換到GBK。
如下是詳細操作:
<code>[root@chy01 images]</code><code># ls</code>
<code>???_20170808142307.png bg_1.png icon10.png n1.png QQ??20170808124717.png</code>
<code>20170814_3089106_1_1020482_30008_0.JPG bg_2.png icon11.png n2.png QQ??20170808124835.png</code>
<code>20170814_3089107_2_1020482_30008_0.JPG bg_3.png icon1.jpg n3.png QQ??20170808125029.png</code>
<code>20170814_3089108_3_1020482_30008_0.JPG bg_4.png icon2.png n4.png QQ??20170808125556.png</code>
<code>2017082301.JPG bg_5.png icon3.png n5.png SS1-1.png</code>
<code>2017082302.JPG bg_6.png icon4.png nav_ico.png ss1-2.png</code>
<code>2.jpg bg_7.jpg icon5.png peixuntu.jpg ss1.png</code>
<code>333.png bg_9.jpg icon6.png ?????.png transparent.gif</code>
<code>444.png f1.jpg icon7.png ??????.png xztb01.png</code>
<code>about2_wpsA087.tmp.png f2.jpg icon8.png ??????.png xztb.png</code>
<code>about2_wpsA088.tmp.jpg f3.jpg icon9.png ??????.png ziliaoxiazai.png</code>
<code>about2_wpsA089.tmp.jpg f4.jpg logo 1.jpg ????????.png ??????.png</code>
<code>about2_wpsA08A.tmp.png f5.jpg logo2.jpg QQ??20170808105711.png</code>
<code>about3_wps8BA0.tmp.png gywm.jpg logo.png QQ??20170808124354.png</code>
<code>(如上檢視時有很多的亂碼)</code>
<code>[root@chy01 wwwroot]</code><code># yum install -y convmv.noarch </code>
<code>(需要安裝這個包)</code>
<code>[root@chy01 </code><code>test</code><code>.com]</code><code># convmv -f gb2312 -t UTF-8 --notest -r Assets </code>
<code>mv</code> <code>"Assets/t/±¨±ls"</code> <code>"Assets/t/考試報名表.xls"</code>
<code>mv</code> <code>"Assets/t/.rar"</code> <code>"Assets/t/考試模拟器.rar"</code>
<code>mv</code> <code>"Assets/t/′.png"</code> <code>"Assets/t/代理證.png"</code>
<code>mv</code> <code>"Assets/t/±¨±).xls"</code> <code>"Assets/t/考試報名表(1).xls"</code>
<code>mv</code> <code>"Assets/upload/QQ20170809100124.png"</code> <code>"Assets/upload/QQ截圖20170809100124.png"</code>
<code>mv</code> <code>"Assets/upload/3jpg"</code> <code>"Assets/upload/xx.jpg"</code>
<code>mv</code> <code>"Assets/upload/ˉ.jpg"</code> <code>"Assets/upload/xx.jpg"</code>
<code>mv</code> <code>"Assets/upload/a′jpg"</code> <code>"Assets/upload/xxx.jpg"</code>
<code>mv</code> <code>"Assets/upload/1.jpg"</code> <code>"Assets/upload/xxx.jpg"</code>
<code>mv</code> <code>"Assets/upload/aμ聦.jpg"</code> <code>"Assets/upload/xxx.jpg"</code>
<code>Ready!</code>
<code>如上就是用convmv來解決的,如下是它的文法介紹:</code>
<code>指令使用:</code>
<code>格式:convmv -f 源編碼 -t 新編碼 [選項] 檔案名/目錄名</code>
<code>GB2312->UTF-8</code>
<code>1</code>
<code>2</code>
<code>convmv -f gb2312 -t UTF-8 --notest -r 目錄</code>
<code>convmv -f gb2312 -t UTF-8 --notest 測試.txt</code>
<code>(說明windows中預設的是gb2312 需要轉換為linux中的utf-8,指令解釋:</code>
<code>-f 參數是指出轉換前的編碼;</code>
<code>-t 是轉換後的編碼;</code>
<code>-r 遞歸處理子檔案夾;</code>
<code>--notest 真正進行操作,請注意在預設情況下是不對檔案進行真實操作的,而隻是試驗)</code>

本文轉自我不是瘦子51CTO部落格,原文連結:http://blog.51cto.com/chy940405/1980658,如需轉載請自行聯系原作者