2006/12/05 火曜日

テキストファイルの文字コードを変換する Konqueror ServiceMenu を作ってみた

Filed under: Kubuntu — kuroki @ 23:26:54

作った、って言える程のものでもないんだけど。

Windows で作成したテキストファイル ( Shift_JIS + CRLF ) を Linux 環境に持ってきて、Linux の文字コード ( UTF-8 + LF ) に変換するとき、shell から、

nkf -w -Lu --overwrite file.txt

なんて風に入力していたんだけど、何だかイチイチ打ち込むのも面倒になってきたので、GUI から文字コードを変換できるようにした。

手順は以下の 2 つ。あらかじめ、nkf コマンドに PATH が通っていること。

  1. 下記の内容のテキストファイルを作成し、to_UTF-8_LF.desktop というファイル名にする。拡張子が desktop であれば、名前は何でも良さそう。
  2. to_UTF-8_LF.desktop ファイルを、~/.kde/share/apps/konqueror/servicemenus ディレクトリにコピーする。

これで、konqueror から、文字コードを変換したいテキストファイルの上で右クリックし、「動作」-> 「UTF-8 へ変換」を選べば、テキストファイルの文字コードを UTF-8 + LF へ変換できる。

to_UTF-8_LF.desktop ファイルの内容は、以下の通り。ただし、このファイルの内容自体も UTF-8 + LF で作成しておくこと。

[Desktop Entry]
Encoding=UTF8
ServiceTypes=text/plain
Actions=to_UTF-8

[Desktop Action to_UTF-8]
Name=convert to UTF-8
Name[ja]=UTF-8 へ変換
Exec=nkf -w -Lu --overwrite %F
Icon=text

今回は、Kubuntu 6.10 で作ったので、Linux の文字コードを UTF-8 としたが、EUC-JP の場合も、上記の内容を UTF-8 から EUC-JP に読みかえれば良いはず。

以下のサイトがとても参考になった。感謝感謝。

Creating Konqueror Service Menus

HTML convert time: 0.358 sec. Powered by WordPress ME