閉じる

sambaサーバ上の日本語ファイル名を euc-jpから utf-8へ

DLNAサーバとして動かす上で euc-jpなのは何かと不都合なので一気に utf-8へ移行することにした。

convmvというスクリプトをダウンロードしてきてテスト実行。

$ convmv -r -f euc-jp -t utf-8 *

問題のあるファイル名*1 が列挙されるので手動で修正し、本実行。

$ convmv -r -f euc-jp -t utf-8 * --notest

仕上げに smb.conを修正し、sambaを再起動して完了と。

#unixcharset=euc-jp
unixcharset=utf-8

TeraTermの漢字コードも TERATERM.INIにて UTF-8に変更。

KanjiReceive=UTF-8
KanjiSend=UTF-8

bashのコードも.bash_profileにて UTF-8に変更。

export LANG=en_US.UTF-8

samba系のマウントオプションも変更。

...,iocharset=utf8,...

注意が必要なのは、チルダや三点リードの類。
これらについて iocharset=euc-jpな sambaを通じて Windowsの FSから読んだファイル名を convmvで変換した結果と iocharset=utf8な sambaを通じて Windowsの FSから読んだファイル名が一致しないので気をつける必要がある。
UNICODEと他コードのマッピング問題の結果だね。


*1 ファイル名自体が長すぎるなど

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)