Cygwin下使用rsync備份至Linux server時的中文編碼問題

來源:互聯網
上載者:User

標籤:style   class   blog   code   tar   ext   

14年6月10日 今天在備份資料又出了狀況:所有檔案名稱中含有非英文字元的檔案都被從Linux server上刪除,而當要重新拷貝Windows下該檔案時,則顯示錯誤:

invalid or incomplete multibyte or wide character

看來是檔案名稱編碼出了問題。在Cygwin下查看locale,被設定成了[email protected]。而原先設定的是什麼也不記得了,但肯定是設定系統locale為Chinese又切換到English造成的。同時發現,date命令輸出的日期格式也都變成中文的了。最後沒有辦法,只得通過Samba來同步檔案了。

此外,注意到在Linux系統上,locale為en_US.UTF-8,但也可以正常顯示和輸入中文。

[14/6/15] 最終發現問題出在了Cygwin自身的locale設定上。在標題列上點右鍵選擇“Options”,則可出現設定對話方塊。

之前不知什麼時候,將Cygwin terminal的locale設成了zh_CN.GBK,從而導致同步檔案到Home PC(locale為en_US.UTF-8)時,所有遠端中文檔案名稱均不能被識別。而若在命令列下使用命令export LC_ALL=en_US.UTF-8強制設定locale,則又會導致本地的中文檔案名稱不能被識別。只有在上述的對話方塊中將locale設為en_US.UTF-8才可以。同時需要注意的是,Windows系統自身的locale,即對於非UTF-8編碼的處理,應選擇為Simplified Chinese,如所示(位於Region and Language => Administrative => Language for non-Unicode programs)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.