2014年5月31日 星期六

utorrent server utf8 encoding issue, CJK character will mess up the filename

我的BT機一直在調整...
BT client最初使用Transmission、Deluge,可是libtorrent似乎有bug
常常出現奇怪的link list錯誤,client就整個掛了,最後換成utorrent Linux版

加上ubuntu 12.04一直有些小問題,某些套件始終沒有更新
OS也從ubuntu換成Debian...

utorrent server即使還是Beta版本,但也算是相當穩定,占用的資源也不多
web ui不管是Desktop或是mobile版本都相當好操作
也可以透過utorrent自己提供的remote utorrent進行操作

只是有個問題困擾了我很久
抓謎片的時候,總是會出現奇怪的狀態
例如下載狀態顯示紅色的錯誤,
有一些謎片下載之後進度跑沒多少或是接近完成的時候會自動停止,而且抓不完
或是下載完成後不會移動到指定的下載目錄

進console去看,發現中文或日文都是一堆的問號
大概就可以猜測到,問題是沒有支援utf8,CJK字元造成的亂碼問題
(CJK: Chinese Japanese Korean)
只是環境已經確定有支援utf8了,為啥軟體還是有問題?
一直沒有沒有查到相關的解法...

今天換個關鍵字找到一篇網誌,
解决ArchLinux的utorrent文件名中文乱码问题
雖然OS不同,但問題的根源是一樣的

簡單說就是啟動軟體的時候,Locale的設定不正確

判斷的方式就是檢查utorrent.log
第一行會顯示目前使用的編碼
[20:53:51] Locale C
代表目前使用POSIX標準編碼,這個編碼不支援utf8
[20:53:51] Locale en_US.UTF-8
後面有utf8的後綴字才表示有支援utf8

修正的方式比較髒一點
直接修改utorrent的啟動script,加上切換locale的指令
以debian 7+utorrent server 3.3為例
修改/etc/init.d/utorrent
在執行utorrent前加上export LANG=en_US.UTF-8
強制切換locale

修改之後重新啟動utorrent即可

先前如果曾經下載過有包含CJK字元的種子
因為下載的時候已經造成亂碼無法回復,只能刪除重新下載
已經下載的資料也會因為檔名與torrent中的資訊不同,必須要手動刪除

留個紀錄:D

沒有留言:

張貼留言

來推薦一下VPS Racknerd

網路上有蠻多這間VPS的推薦,不過大多是賺傭金的 推薦的點不外乎是便宜,然後中國那邊很多拿來當VPN跳板主機 我當初也是無聊租了一台來玩 後來實際上用起來覺得還可以 但是有幾個小地方當初租的時候沒注意到 就來分享一下,順便分享我的推薦連結 XDDD Racknerd有很多優惠方案...