連載
» 2020年09月11日 05時00分 公開

Tech TIPS:【Windows 10】えっ、UTF-8じゃなくてShift-JISで? お手軽文字コード変換方法まとめ

Windows OSのコマンドプロンプト上でテキスト処理をする場合、基本的にはShift-JISコードのテキストファイルしか扱えない。その他の文字コードのテキストを扱う場合は、Shift-JISに変換する必要がある。「メモ帳」アプリやInternet Explorer、nkfコマンドを使って文字コードを変換する方法を解説する。

[小林章彦,デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Windows 10


文字コードを変換する 文字コードを変換する
Windows 10上のコマンドプロンプトは、基本的に文字コードとしてShift-JISしか扱えない。一方、WSL 1/WSL 2では、UTF-8が一般的だ。このように異なる文字コード間でテキストファイルをやりとりする場合、文字コードの変換が必要になる。

「メモ帳」アプリで文字コードを変換する

 ファイルの文字コードを変換する最も簡単な方法は、「メモ帳」アプリを使う方法だろう(Tech TIPS「【Windows 10】キミは『メモ帳』アプリの実力を知らない?」も参照してほしい)。

 「メモ帳」アプリを起動し、[ファイル]−[開く]を選択して、変換したいテキストファイルを開く。[ファイル]−[名前を付けて保存]を選択して、[名前を付けて保存]ダイアログで、「文字コード」のプルダウンリストで変換先の文字コードを選択して、[保存]ボタンで保存すればよい。

「メモ帳」アプリで文字コードを変換する 「メモ帳」アプリで文字コードを変換する
「メモ帳」アプリのデフォルトはUTF-8なので、「メモ帳」アプリ上で文字を入力するとUTF-8で保存されることになる。しかし、レジストリファイルを作成する場合など、異なる文字コードで保存しなければならないことがある(レジストリファイルは、UTF-16LEで保存する必要がある)。

 例えば、各種記事などで紹介されているレジストリファイル(.regファイル)を作成する場合、「メモ帳」アプリで入力して、単純に保存してしまうと、文字コードは「UTF-8」になってしまう。しかし、レジストリファイルは「UTF-16LE」で保存する必要があるので、保存する際に[名前を付けて保存]ダイアログの「文字コード」のプルダウンリストで「UTF-16LE」を選択する必要がある。

 また、Shift-JISのテキストファイルを、WSL 1/WSL 2で処理したい場合も、事前にUTF-8に変換しておく必要がある。このような場合は、「メモ帳」アプリでテキストファイルを開いた後、[名前を付けて保存]ダイアログの「文字コード」のプルダウンリストで「UTF-8」を選択して、[保存]ボタンで保存する。

Internet Explorerを使って文字コードを変換する

 Internet Explorer(以下IE)を使うことでも文字コードの変換が可能だ。IEは、Microsoft 365がサポート終了予定を発表するなど、Webブラウザとしては逆風にあるが、意外と使い途(みち)がある(IEのサポート終了については、Tech TIPS「いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール」参照のこと)。

 単にIEで対象ファイルを開き、別の文字コードを指定してテキスト形式で保存するだけで別の文字コードに変換できる。「メモ帳」アプリで変換するのと同様である(詳細な手順は、Tech TIPS「WindowsでInternet Explorerを使って文字コードを変換する」を参照してほしい)。

 IEのアドレスバーにパスを含む対象のテキストファイル名を入力するか、ブラウザペインにテキストファイルをドラッグ&ドロップして、ファイルを表示する。IEのデフォルトでは、文字コードは自動判別されるので、Shift-JIS以外でも正しく表示されるはずだ。

 もし文字化けしているようならば、ブラウザペインで右クリックして、メニューから[エンコード]−[自動選択]を選択する。それでも文字化けが治らないようならば、[エンコード]の下の該当しそうな文字コードを手動で選択してみるとよい。

IEで文字コードを変換する(1) IEで文字コードを変換する(1)
テキストファイルをドラッグ&ドロップなどで読み込むと、通常は文字コードの自動判別により、正しく表示される。しかし、文字コードが認識できずに文字化けを起こすこともある。
IEで文字コードを変換する(2) IEで文字コードを変換する(2)
ブラウザペインで右クリックし、メニューの[エンコード]を選択し、該当しそうな文字コードを選択する。
IEで文字コードを変換する(3) IEで文字コードを変換する(3)
正しい文字コードになると、文字化けが解消される。

 正しく表示されたら、IEのアドレスバーの右にある[歯車(設定)]アイコンをクリックし、[ファイル]−[名前を付けて保存]を選択する。[Webページの保存]ダイアログが表示されるので、[保存]ボタンの左側にある「エンコード」のプルダウンリストから変換先となる文字コードを選択し、[保存]ボタンをクリックすればよい。このあたりの操作は、「メモ帳」アプリと同じだ。

IEで文字コードを変換する(4) IEで文字コードを変換する(4)
[歯車]アイコンをクリックし、メニューから[ファイル]−[名前を付けて保存]を選択する。
IEで文字コードを変換する(5) IEで文字コードを変換する(5)
[Webページの保存]ダイアログが開くので、「エンコード」のプルダウンリストを開き、変換先の文字コードを選択、[保存]ボタンをクリックする。

nkfコマンドを使って文字コードを変換する

 「メモ帳」アプリやIEを使って文字コードを変換するのは手軽だが、変換したいファイルの数が多かったり、作業を自動化したりするのには不向きだ。

 このような場合、文字コードを変換するコマンド「nkf(Network Kanji Filter)」を使うとよい。ただ、nkfコマンドは、Windows OSの標準コマンドではない。そのため、フリーソフトウェアとして配布されているものを使うか、WSL 1/WSL 2上のLinuxディストリビューションのnkfコマンドを使う必要がある。

フリーソフトウェアのnkfコマンドを使う

 オリジナルのnkfコマンドは、OSDNの「nkf Network Kanji Filter」でソースコードが公開されているが、Windows 10上で実行するにはコンパイルなどの作業が必要になり、ハードルが高い。

 そこで、Windows OS向けの実行ファイルとして提供されている「nkf.exe nkf32.dll Windows用」を利用するとよい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。