Windows TIPS
[System Environment]
文字コードを変換する
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ
2004/02/28
対象OS
Windows 2000
Windows XP
Windows Server 2003
■
Windows OS環境では、シフトJIS以外にもさまざまな文字コードが利用されている。
■
コマンド・プロンプトで利用するコマンドでは、シフトJISしか受け付けないものも多いし、メモ帳ではEUCやJISコードを扱うことはできない。
■
文字コードを変換するにはInternet Explorerで文字コードを指定して保存するとよい。
コンピュータで使われる文字コード体系にはさまざまなものがある。DOSやWindowsで使われる文字コードとしては、MS-DOSの時代から「シフトJIS」コードがほぼ標準であった。だが、UNIXやインターネット環境などでは、その他の文字コードも多く使われている。また日本語だけでなく、世界中の言語もコンピュータで統一的に取り扱いたいという要望も多いことから、現在のWindows OSでは、内部的にはUnicode を使って処理を行っている。そして外部との入出力時にほかのコードと相互に変換を行っている。日本語に限っていえば、現在のWindows OSでは以下のような文字コード形式が使われることが多い。
文字コード名
意味
ANSI
英数字記号文字を含む、7bitの基本的な文字コード。ほかの文字コードでも、英数字部分の文字コードはこのANSI文字コードをベースにしているものがほとんどである。ASCIIコードとも呼ばれる
シフトJIS
MS-DOSの時代から広く使われている文字コード。漢字文字コードとして、「JISコード」を変形させたもの(シフトしたもの)を利用して、ANSI文字と共存させているのでこう呼ばれる。PC環境では一般的な日本語文字コード
EUC
UNIX環境で広く使われている日本語文字コード。シフトJISとは異なる方法でANSI文字と漢字文字を共存させている
JISコード
ANSI文字コードと漢字文字コードを、「エスケープ・シーケンス」と呼ばれる特別な文字シーケンスで切り替えながら共存させている。ほとんどの場合、インターネット電子メールやニュースは、この文字コードで送受信される
Unicode
世界中の文字を16bitもしくは32bitの固定長の文字コードで統合的に扱うために作られた文字コード。文字の種類によらずコード長が一定しているので、プログラムから扱いやすく、OSやアプリケーションの内部コードとして使われることが多い。ただし次のUTF-16と同義に使われる場合も多い
UTF
Unicodeをベースにして、実際にファイルに格納したり、通信を行う場合のバイト・データの並べ方などを規定したもの。UTF-8とかUTF-16などがある。UTF-16では、バイト・オーダー の違いにより、リトル・エンディアン 形式とビッグ・エンディアン 形式などの違いがある
日本語OS環境でよく使われる文字コード
これら文字コードの違いは、通常のユーザーは気にする必要はない。だが場合によっては、文字コードの違いによって正しく処理ができないといったケースもある。例えば、コマンド・プロンプト上で使われる各種の標準コマンドでは、シフトJIS以外の文字コードで書かれたテキストを処理することができないものが多い(コマンドによってはシフトJISとUnicodeが使えるものもある)。またメモ帳では、JISコードやEUCコードで書かれたテキスト・ファイルは開くことができない(無理やり開くことはできるが、文字化けしてしまう)。
このような場合は、アプリケーションが理解できる形に、あらかじめ文字コードを変換しておくことが望ましい。
ファイルに含まれる文字のコード(漢字の文字コード)を変換するには、Internet Explorer(以下IE)を使うのが簡単でよい。操作方法としては、単にIEでファイルを開き、それを文字コードを指定してテキスト形式で保存するだけである。これだけで任意の文字コードに変換することができる。また、どのような文字コードで記述されたWebページであっても、この方法を使えば、任意の文字コードで保存することができる。
文字コードを変換するには、まず任意の文字コードで記述されたファイルを、「〜.txt」というファイル名に変更する。そしてこれをIEのアイコン上へドロップするか、エクスプローラ上でファイルを右クリックし、ポップアップ・メニューから[アプリケーションから開く]−[Internet Explorer]を実行してもよい。
この状態でIEの画面には、目的のテキストが正しく表示されているはずである。だがこの段階でもし文字化けを起こしているようならば、文字コードの変換・保存は正しく行えない。IEではファイルやWebページ中で使われている文字コードを自動的に判別して、正しい文字コードで表示する機能を持っているが、文字コードを判別するための情報が少なかったり、判別不可能な文字ばかりが使われていると、このような状態になることがある)。このような状態になった場合は、ユーザーが手動で文字コードを指定すればよい。
IEで文字コードを変更する
表示されている文字が化けている場合は、ユーザーが文字コードを明示的に指定することにより、正しい文字コードでの表示を強制的に行わせることができる。文字コードを指定して保存するためには、あらかじめこのように、正しく表示させておかなければならない。文字コードを変更するには、ウィンドウ上で右クリックしてポップアップ・メニューから[エンコード]を選ぶか、[表示]メニューから[エンコード]を選択する。
現在のエンコーディング形式がこのようにチェック・マーク付きで表示される。これが望みの文字コードでない場合は、ほかの文字コードを選択することができる。ただしJISコードの場合は[日本語(JIS)]という項目が淡色表示されるが、[日本語(JIS)]を選択することはできない。代わりに[日本語(自動選択)]を選択する。
[日本語(自動選択)]は、文字コードを自動的に判別させる場合、およびJISコードを選択したい場合に使用する。
すでに何度か使った文字コードの場合はここに表示されているので、すばやく選択することができる。
あまり使ったことのない文字コードの場合は、[その他]を選択すると、(日本語以外も含む)すべてのエンコーディング形式がサブメニューとして表示される。
IEの画面上で正しく文字が表示されれば、これを保存することにより、任意の文字コード形式でファイルに保存することができる。
ファイルへ保存するには、[ファイル]メニューの[名前を付けて保存する]を選択する。すると次のような画面が表示されるので、[エンコード]で文字コードを選択して保存する。デフォルトでは、元のファイルの文字コードになっている。現在の表示内容がWebページの場合は、[ファイルの種類]を[テキスト ファイル]にすることにより、テキスト文字部分のみをテキスト・ファイルとして保存することができる。
保存するコードの指定
保存時に文字コードを指定することにより、元のテキスト・ファイルの文字コードとは異なる形式の文字コードで保存することができる。
保存する文字コードを選択する。
このメニューで選択できるのは、日本語では以下のものだけである。
選択できる文字コード
意味
Unicode
16bitのリトル・エンディアンのUTF-16(16bit Unicode)。ただしファイルの先頭にBOM(Byte Order Mark)と呼ばれる、Unicodeの特別な文字(U+FEFF。「ZERO WIDTH NON-BREAKING SPACE」という文字)は書き込まれない
Unicode(UTF-8)
UTF-8(8bit Unicode)
日本語(EUC)
EUCコード
日本語(JIS 1 バイト カタカナ可)
JISコード
日本語(シフトJIS)
シフトJISコード
IEで保存できる文字コードの種類(日本語関連のみ)
ただしここで保存される「Unicode(表の一番上の項目。UTF-16)」では、ファイルの先頭にUnicodeの「BOM(Byte Order Mark)」コードは書き込まれない(エンディアンはリトル・エンディアン 形式になる)。BOMとは、バイト・オーダを識別するための特別な文字であり(必須ではない。文字コードは「U+FEFF」)、Unicode(UTF-16)形式で保存されたファイルの先頭にこのBOMを記入しておくことで、バイト・オーダー を正確に判定することができる。BOMが存在しないと、アプリケーションによっては正しくUnicodeファイルを読み込むことができない場合がある。このような場合は、IEで保存するのではなく、IEの画面上でテキストを選択・コピーしてからメモ帳に貼り付け、そこであらためてUnicodeで保存するなどの操作を行えばよい。メモ帳がUnicodeで保存する場合は、必ずBOMが書き込まれるからである。
この記事と関連性の高い別のWindows TIPS
generated by
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ