試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

幾つかのテキストエディタにおけるエンコーディングの扱いについて

ここでは幾つかのテキストエディタ*1におけるエンコーディング*2の扱いについてを扱う。

gedit(GNOME)

geditではファイルを開くときと保存するときにエンコーディングが選択できる。開くときには自動検出と手動指定の両方が可能。
利用可能なエンコーディングは多く、エンコーディングを指定するにはあらかじめ候補のエンコーディングの一覧を編集しておくとよい。
ファイル選択ダイアログの「エンコーディング」の一覧から「追加と削除(下の画像の一番下のメニュー項目)」を選択し

メニューに表示するエンコーディングを左の「利用可能なエンコーディング」一覧から「追加」ボタンで右の「メニューに表示するエンコーディング」に追加する。

一度追加してしまえば一覧の設定は保存され、次回以降は同じ候補から選択できるようになる。

Leafpad(デスクトップ環境非依存), Mousepad(Xfce4)

Leafpadとその派生エディタMousepadでのエンコーディングの扱いはgeditに近いが、開くときの手動指定時/保存時におけるエンコーディング名の一覧は環境変数LANGによって自動的に決定される親切な作りとなっていて、日本語ロケール上では

となっている。

LANGを「C」にすると

  • UTF-8
  • ISO-8859-1
  • ISO-8859-15
  • CP1252

となる。
もちろん、環境変数LANGによって決まる一覧に含まれないエンコーディングもサポートしてはいるが、手動でテキスト入力欄にエンコーディング名を入力する形となる。

Kate,Kwrite(KDE)

KateKwriteではファイルを開くときにエンコーディングを自動検出できないため、エンコーディングを正しく指定する必要があるのだが、メニューの「ツール - エンコーディング」を「自動検出」にすると間違ったエンコーディングで開いても修正できる。ただし、一時的に読み取り専用となるため、「ツール」メニューの「読み取り専用モード」のチェックを外す必要がある。
ファイル保存時には開いたときと同様、出力エンコーディングを指定することができる。
エンコーディングの一覧は全ての候補が一度に出るため、geditより探しにくいかもしれない。

GNU Emacs

ファイルを開くときにはエンコーディングは自動検出されるが、短いファイルで誤検出(文字化け)することもある。その場合は「Ctrl-X Enter C」を押し、下に「Coding system for following command」と出たら、開く際のコーディングシステム名(エンコーディング名/改行コードの種類の組み合わせの名前)を手動で指定(タブ補完可)しEnterを押す。
下に「Command to execute with [コーディングシステム名]:」と出たら「Ctrl-X Ctrl-F」などで対象のファイルを開く。
保存時のエンコーディングはバッファのコーディングシステムから決められ、現在のバッファのコーディングシステムは「Meta-X set-buffer-file-coding-system」を実行し、コーディングシステム名を入力後Enterで変更できる。この後、バッファをファイルに保存するとそのエンコーディングで書き出される。

関連:GNU nanoが扱えるエンコーディングについて

GNU nanoはビルド前のconfigureスクリプト--enable-utf8オプションを付けてUTF-8サポートを有効にしてビルドされているときに限りUTF-8エンコーディングで日本語が扱えるが、他のエンコーディングは一切扱えない。

関連記事:

使用したバージョン:

  • gedit 2.24.0
  • Mousepad 0.2.16
  • Leafpad 0.8.15
  • Kate 3.2.4
  • Kwrite 4.2.4
  • GNU Emacs 22.3.1, 23.1.1
  • GNU nano 2.0.9

関連URL:

*1:プレーンテキスト(書式無しの文字列情報ファイル)を編集するアプリケーション

*2:幾つかの「文字の(種類による)集まり」を1つのセットとして正しく扱えるような仕組みにおける個別の方式で「文字コード」とも呼ばれ、(0と1の)データとしての表現と文字との対応でもある