目次
1. はじめに
テキストファイルに文字を入力する際、画面上に見えているのは文字ですが、ファイルに記録されるのは「コード(符号)」(ただの値)です。どの文字にどんなコードが割り当てられているかについてはいろいろな体系があり、これを エンコーディング(符号化)といいます。Web においては UTF-8 というエンコーディングが主流ですが、Windows での デフォルトエンコーディングは Shift_JIS (CP932) となっています。
ファイル単位でどのエンコーディングを使うかを決めますが、ファイル内には「どのエンコーディングが使われているか?」の情報を保存することができません。そのため、ファイルを開くアプリケーションが自動的に判別したり、手動でユーザーが指定して使うのが一般的です。ファイルが想定しているものとは別のエンコーディングでファイルを開くと文字化けが起きますので、その場合は別のエンコーディングを明示的に指定し直します。
エンコーディングについては、以下のページも参照してください。
本ページでは、テキストファイルで使用されているエンコーディングを変更する方法を紹介します。
※ 主に Windows を想定しています。
2. テキストエディタを使う方法
高機能なテキストエディタアプリケーションは、たいていファイルのエンコーディングを変更する機能を持っています。
ここでは、Mery というテキストエディタを使って操作手順を説明します。
例えば、「あああ.txt」という名前のテキストファイルが既に作成済み (Shift_JIS) であるとします。
(1) このファイルを Mery で開きます。
一番下の部分を見ると、このファイルが「シフトJIS」で記述されていることが分かります。
(2) [ファイル] メニュー – [名前をつけて保存(A)…] を選択します。
(3) [エンコード] のプルダウンメニューで、新しく採用したいエンコーディングを選択して、[保存] ボタンを押します。
(4) 上書きしてよいか聞いてくるので、[はい] を押します。
(5) 以上です。
ファイルは上書きされました。ウィンドウの下の部分を見ると、選択したエンコーディング名が表示されているはずです。
3. 専用のGUIアプリケーション を使う方法
ここでは、ZiiDetector というアプリケーションを紹介します。
ZiiDetector のインストール
ウェブブラウザで、ZiiDetectorの詳細情報 : Vector ソフトを探す! を開き、アプリケーションをダウンロードします。
ダウンロードされた圧縮ファイルを解凍し、生成されたディレクトリを任意のパスに移動させます。
ZiiDetector の使い方
(1) 解凍して生成されたディレクトリ内にある、ZiiDetector.exe というファイルを実行します。
ZiiDetector のウィンドウが開きます。
(2) エンコーディングを変更したいファイルを、ZiiDetector にドラッグ・アンド・ドロップします。
複数のファイルをまとめて処理することが可能です。
※ 以下のように、ファイルごとの文字コードが表示されますが、この手の検出機能は完璧ではないため間違っていることがあるかもしれません。
(3) エンコーディングを選択します。
※ 以下のように改行コードも指定できます。
(4) [変換] ボタンを押します。
(5) この時点で変換処理が完了しています。
[文字コード] が「Shift_JIS」になっています。
4. iconv コマンドを使う方法 (Linux, Mac, WSL)
Linux などでは iconv というコマンドで、ファイルのエンコーディングを変更することができます。
よく使うオプションは以下です。
-
-f
オプション:元のテキストのエンコーディングを指定します。 -
-t
オプション:出力用のエンコーディングを指定します。
いくつか使用例を紹介します。
Shift-JISの方をUTF-8に変換する。
$ iconv -f Shift-JIS -t UTF-8 > <変換後のファイル>
UTF-8 のファイルを Shift-JIS に変換する。
$ iconv -f UTF-8 -t Shift-JIS <変換前のファイル> > <変換後のファイル>
- UTF-8 に関しては、UTF-8(BOM無し) なら処理できますが、UTF-8(BOM有り) は変換できないようです。
使用可能な文字コード一覧を表示
$ iconv -l
-f
や-t
オプションに指定できるエンコーディングを確かめることができます。