Windows環境では、シフトJIS以外にもさまざまな文字コードが利用されている。しかしWindows標準のコマンドやツールはシフトJIS以外の文字コードを正しく扱えないこともある。そこでInternet Explorerを利用すると、手軽に文字コードを変換して別のファイルに保存できる。
対象ソフトウェア:Windows XP/Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2、Internet Explorer 6/7/8/9/10/11
コンピューターで使われる文字コード体系にはさまざまなものがある。Windowsで使われる文字コードとしては、MS-DOSの時代から「シフトJIS」コードがほぼ標準であった。だが、UNIX/LinuxやMac、スマートフォン/タブレット、そしてインターネット環境などでは、その他の文字コードも多く使われている。
また日本語だけでなく、世界中の言語もコンピューターで統一的に取り扱うために、現在のWindows OSでは、内部的には「Unicode」を使って処理を行っている。そして外部との入出力時に他の文字コードと相互に変換を行っている。
日本語に限っていえば、現在のWindows環境では以下のような文字コード形式がよく使われている。
文字コード名 | 意味 |
---|---|
ANSI | アルファベットの英数字記号文字を含む、7bitの基本的な文字コード。他の文字コードでも、英数字部分の文字コードはこのANSI文字コードをベースにしているものがほとんどである。ASCIIコードとも呼ばれる |
シフトJIS | MS-DOSの時代から日本で広く使われてきた文字コード。漢字文字コードとして、「JISコード」表をべースにして変形させたもの(シフトしたもの)を利用して、ANSI文字と共存させているのでこう呼ばれる。PC環境では一般的な日本語文字コード |
EUC | 初期の日本語対応UNIX環境で広く使われていた日本語文字コード。シフトJISとは異なる方法でANSI文字と漢字文字を共存させている。現在のUNIX/LinuxではUnicode/UTFを使っているものが多い |
JISコード | ANSI文字コードと漢字文字コードを、「エスケープシーケンス」と呼ばれる特別な文字シーケンスで切り替えながら共存させている文字コード。従来、インターネット電子メールはこの文字コードで送受信されることが多かったが、代わりにUTF-8がよく使われるようになってきている |
Unicode | 世界中の文字を16bitもしくは32bitの固定長の文字コードで統合的に扱うために作られた文字コード。文字の種類によらずコード長が一定しているので、プログラムから扱いやすく、OSやアプリケーションの内部コードとして使われることが多い。ただし次のUTF-16と同義に使われる場合も多い。Windows OSも内部ではこのUnicodeを利用している |
UTF | Unicodeをベースにして、実際にファイルに格納したり、通信を行う場合のバイトデータの並べ方などを規定したもの。UTF-7とかUTF-8、UTF-16、UTF-32などがある。UTF-16では、バイトオーダーの違いにより、リトルエンディアン形式とビッグエンディアン形式などの違いがある。特にUTF-8は、シフトJISやJISコードに代わってよく使われるようになってきている |
日本語のWindows OS環境でよく使われる文字コード |
これら文字コードの違いは、通常のユーザーは気にする必要はない。だが場合によっては、文字コードの違いによって正しく処理ができないといったケースもある。
例えば、Windows OSのコマンドプロンプト上で使われる各種の標準コマンドでは、シフトJIS以外の文字コードで書かれたテキストを処理できないものが多い(コマンドによってはシフトJISとUnicodeの両方が使えるものもある)。またメモ帳では、「JISコード」や「EUCコード」で書かれたテキストファイルを開くと文字化けしてしまう。
このような場合は、アプリケーションが理解できる形に、あらかじめ文字コードを変換しておくことが望ましい。本稿では、何かツールを用意することなく、Windows OS標準装備のInternet Explorer(以下IE)を利用して手軽に文字コードを変換する方法を紹介する。その他の方法については、次の記事を参照していただきたい。
ファイルに含まれる文字のコード(漢字の文字コード)を変換するには、Internet Explorer(以下IE)を使うのが簡単でよい。操作方法としては、単にIEで対象ファイルを開き、別の文字コードを指定してテキスト形式で保存するだけである。これだけで別の文字コードに変換できる。
文字コードを変換するには、まず任意の文字コードで記述されたファイルを、「〜.txt」というファイル名に変更する。そしてこれを、起動したIEのウィンドウへドラッグ&ドロップする。
この時点でIEの画面には、対象ファイル内に記述されたテキストが正しく表示されているはずである(その場合は「正しく表示されたら別のファイルに保存する」へ進んでいただきたい)。だが、この段階で文字化けが生じることもしばしばある。
IEではファイルやWebページ中で使われている文字コードを自動的に判別して、正しい文字コードで表示する機能を持っている。しかし、文字コードを判別するための情報が少なかったり、判別不可能な文字ばかりが使われていると、文字コードの判別に失敗して文字化けが生じることがある。
このような場合は、ユーザーが手動で「正しい」文字コードを指定すればよい。どの文字コードなのか分からない場合は、以下の画面のポップアップメニューで各文字コードを1つずつ選択して、文字化けが解消されるまで試してみよう。
IEの画面上で正しく文字が表示されれば、別の文字コード形式で別のファイルに保存できる。
別のファイルへ保存するには、[Alt]キーを押して表示されるメニューバーから[ファイル]−[名前を付けて保存する]を選択する(IE9以降では[Ctrl]+[S]キーを押してもよい)。すると次のような画面が表示されるので、[エンコード]で文字コードを選択して保存する。
現在の表示内容がWebページの場合は、[ファイルの種類]を[テキスト ファイル]にすることにより、テキスト文字部分のみをテキストファイルとして保存できる。
このメニューで選択できるのは、日本語では以下のものだけである。
選択できる文字コードの名称 | 意味 |
---|---|
Unicode | 16bitのリトルエンディアンのUTF-16(16bit Unicode)*1 |
Unicode (UTF-8) | UTF-8(8bit Unicode)*1 |
日本語 (EUC) | EUCコード |
日本語 (JIS 1 バイト カタカナ可) | JISコード |
日本語 (シフト JIS) | シフトJISコード |
IEで保存できる文字コードの種類(日本語関連のみ) *1 IE8以前では、ファイルの先頭にBOM(Byte Order Mark)と呼ばれる、Unicodeの特別なデータが先頭に書き込まれない。 |
IE8以前の場合、上記の手順で「Unicode」「Unicode (UTF-8)」を選んで保存すると、ファイルの先頭にUnicodeの「BOM(Byte Order Mark)」コードが書き込まれない。IE9以降では正常に書き込まれる。
BOMとは、バイトオーダーを識別するための特別なデータだ。特にUnicode(UTF-16)の場合、ファイルの先頭にこのBOMを記入しておくことで、バイトオーダーを正確に判定できる。BOMが存在しないと、アプリケーションによっては正しくUnicodeファイルを読み込むことができない場合がある。
このような場合は、IEで保存するのではなく、IEの画面上でテキストを選択・コピーしてからメモ帳に貼り付け、そこであらためてUnicodeで保存するなどの操作を行えばよい。メモ帳がUnicodeで保存する場合は、必ずBOMが書き込まれるからである。
■更新履歴
【2014/10/29】Windows Vista以降のWindows OS、およびInternet Explorer 6〜11に対応しました。
【2004/02/28】初版公開(対象ソフトウェアはWindows 2000/XP/Server 2003)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.