ubuntu文字コード変換

安定稼働中の我が家のubuntuホームサーバですが、長年の懸案事項であった
文字コード変換に取り組んでみました。
我が家のサーバは稼動を始めて約15年になるのですが(たぶん・・・)
当時採用したサーバOSは、VineLinux2.0 でそれなりに苦労して運用していたのです・・・
このVineLinuxはSambaの文字コードがCP932だったのか、何も知らなかったワタシが
CP932で設定していたのか良く判りませんが、
かなり長い間VineLinuxで運用した結果、かなりのファイルがサーバ上に溜まっており
ubuntuに移行したタイミングでも、ディスクを移設しただけでそのままにしていたのです。
結果として、ubuntuの文字コードはUTF-8なのでサーバ上で日本語ファイルはひたすら
文字化けしており、WINDOWS上はきちんと日本語で見えているという状態になっていた
のでした。
別にWINDOWS上だけでオペレーションする分にはこのままでもOKなのですが
サーバも進化して、ファイルサーバ、WEBサーバ、PT2を実装して録画サーバ、DLNAサーバと
多岐にわたる活躍をするようになった結果、文字化け問題も解決しないと運用出来ないという
状態になってしまいました。
なにより録画ファイルはubuntu側で書き込んでいるので、WINDOWS上でも化けてしまい
かなりメンドクサイのです。
ということで文字コード変換方法を調べてみたらかなり簡単でした!
実際には、convmvをインストールしてコマンドを打つだけなのですが
貴重なファイルがグチャグチャになるのを避けるべく
テストファイル&フォルダを準備して、入念な変換テストを行ってから実行しました。
以下実行手順です
□ファイル名の文字コードを変換するときには、convmv コマンドを使用します。
Ubuntu は、apt-get で簡単にインストール出来ます。
$ sudo apt-get install convmv
例えば、CP932 から UTF-8 に変換する場合は、以下のように実行します。
$ convmv -f cp932 -t utf-8 * --notest
これで、カレントディレクトリのすべてのフォルダ名/ファイル名の文字コードが
CP932 から UTF-8 に変換されます。
ディレクトリの下層まで変換したい場合は
$ convmv -r -f cp932 -t utf-8 * --notest
オプションの -r を付けます。
なお、最後の --notest は、どのように変換がされるか確認せずに、
実際に変換を行うオプションです。
もし、間違えて変換を行うと元に戻すのは大変ですから、
最初は --notest をつけずに変換結果を確認しましょう。
これで、WINDOWSとubuntuの両方から日本語ファイルが化けないで見えるようになりました。
あ~すっきりした。

コメントを残す

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