Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

tar: Can't translate pathname 中文檔名 to UTF-8

53 views
Skip to first unread message

wickedweasel

unread,
Jun 18, 2012, 11:22:26 PM6/18/12
to

FreeBSD 10.0-CURRENT

壓縮時, tar zcvPf 對於其中的中文檔名,會出現
Can't translate pathname 中文檔名 to UTF-8
解壓時, tar zxvPf 會出現
Pathname can't be converted from UTF-8 to current locale

已google,也man過,不知道問題在什麼地方。想請先賢指教,感謝

有試過
tar(c/x)指令前下 export LC_ALL=en_US.UTF-8
指令之後下 export LC_ALL=zh_TW.Big5
可以正常。但此方法頗鳥


目前設定
# set | grep LC_
LC_ADDRESS=zh_TW.Big5
LC_ALL=zh_TW.Big5
LC_COLLATE=zh_TW.Big5
LC_CTYPE=zh_TW.Big5
LC_IDENTIFICATION=zh_TW.Big5
LC_MEASUREMENT=zh_TW.Big5
LC_MESSAGES=zh_TW.Big5
LC_MONETARY=zh_TW.Big5
LC_NAME=zh_TW.Big5
LC_NUMERIC=zh_TW.Big5
LC_PAPER=zh_TW.Big5
LC_TELEPHONE=zh_TW.Big5
LC_TIME=zh_TW.Big5

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.40.61

呆牛

unread,
Jun 19, 2012, 10:53:20 AM6/19/12
to
如同字面上的意思,因為你系統處理所有字串都用 big5,

因此碰到中文字的時候很容易碰到編碼問題

你的解法只不過在壓縮前把系統編碼改成 UTF-8 而已

檔案名稱就用 UTF-8 寫入了

如果你之前系統已經有用 big-5 編碼中文檔名的檔案

這樣混著存反而日後尋找檔案上會造成更大的隱憂

(例如說架 ftp 的時候就會有些檔名因編碼不同便亂碼甚至找不到)

建議是把所有編碼都換成 UTF-8 (zh_TW.UTF-8)

另外推薦可以使用 ports 中的 convmv 工具轉換檔名編碼

除非有什麼特殊考量,應該還是盡量避免 big5 這個該淘汰的東西比較好......

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.252.104

wickedweasel

unread,
Jun 19, 2012, 5:33:08 PM6/19/12
to
※ 引述《danielsig727 (呆牛)》之銘言:
: 如同字面上的意思,因為你系統處理所有字串都用 big5,
: 因此碰到中文字的時候很容易碰到編碼問題
: 你的解法只不過在壓縮前把系統編碼改成 UTF-8 而已
: 檔案名稱就用 UTF-8 寫入了
: 如果你之前系統已經有用 big-5 編碼中文檔名的檔案
: 這樣混著存反而日後尋找檔案上會造成更大的隱憂
: (例如說架 ftp 的時候就會有些檔名因編碼不同便亂碼甚至找不到)
: 建議是把所有編碼都換成 UTF-8 (zh_TW.UTF-8)
: 另外推薦可以使用 ports 中的 convmv 工具轉換檔名編碼
: 除非有什麼特殊考量,應該還是盡量避免 big5 這個該淘汰的東西比較好......

感謝指教.... ^_^
這真是一個我沒想過的思路....

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.120.242
※ 編輯: wickedweasel 來自: 220.133.120.242 (06/20 05:37)

0 new messages