文字化け
出典: フリー百科事典『ウィキペディア(Wikipedia)』
文字化け(もじばけ)とは、コンピュータで文字を表示する際に、正しく表示されない現象のこと。
- 例:「文字化け」が、「•¶Žš‰»‚¯」と表示されるなど。
「文字化け」という言葉は、欧米においては該当の意味に類似する単語がなかったことから、日本語以外の言語圏においてもローマ字にした「Mojibake」という言葉として通用するようになった。
目次 |
[編集] 主な原因
ソフトウェアやハードウェアのトラブル、エンコーディングの違いなどが原因となる。パソコン通信の時代は、ハードウェア上の文字化けがしばしば頻発した。今日では、ソフトウェアに起因する文字化けが多い。
[編集] 表示時のエンコーディングの指定に関するトラブル
-
- 指定ミスの場合
- 文字データを間違ったエンコーディングで表示しようとしたために、正しく表示できなくなる場合がある。
-
- ISO/IEC 646で規定されている文字だけは、Shift_JIS、EUC-JP、ISO-2022-JP、ISO-8859、UTF-8などにおいても同じコードポイントで登録されている。従って、ISO/IEC 646の範囲外の文字だけが化けてしまう場合には表示時のエンコーディングの指定ミスである可能性が高い。
-
- プロトコルごとのヘッダに文字コードの情報を付加して転送することや、Unicodeの場合にはBOMをつけることなどの方法で文字化けしないようにすることが勧められる。
-
- 表示側非搭載の場合
- 文字表示アプリケーション(WWWブラウザ等)によって、表示可能なエンコーディングが限られていることがあり、指定ミスと同様の状態に陥り文字化けが発生する。Unicodeのサロゲートペア表示に対応していない環境もいまだもって多いため、BMP面に非搭載の文字を利用した場合に正しく表現できず文字化けすることがある。
[編集] 搭載フォントセットの違いによるトラブル
-
- 各フォントセットの文字集合実装レベルの違いによるトラブル
- UTF-8のような多くの文字が表現できる文字符号化方式を利用した場合、機種毎のフォントセットの実装により、使える文字の数が限られており、搭載していない文字が化けることがある。機種AではUnicode全体を表せるフォントを搭載しているが、機種BではJIS X 0208の範囲の文字をUnicodeのコードポイントで搭載していて、符号化方式としてUTF-8が使えるだけであった等の場合が考えられる。
-
- EUC-JPでは2面の文字が入ってくるが、一部の環境では対応していないため該当領域の文字が文字化けを起こす。
-
- ユーザー外字を使用したことによるトラブル
- ユーザーがWindows-31JやUnicodeの私的領域に対して、独自に外字を登録して使用した場合、その符号位置に同じ文字が入っていない環境では文字化けが発生する。
-
- フォントメーカー独自の特殊なフォントを使用することによるトラブル
- Windbatなどの記号フォントや、文字コード内の一部の文字を仕様とは異なる文字を実装したフォントを利用してフォントを埋め込まないファイルにし、該当のフォントが入っていない環境で表示した場合に文字化けが発生する。
-
- 搭載フォントのUnicodeのバージョンの違いによるトラブル
- Unicodeでは、Unicodeのバージョンによっては同じ符号位置に異なる文字が登録されていることがある。ドキュメントのフォーマットではどのバージョンのコードであるかを判別する手段を持っていないため、バージョンを判別することができず、また、特定のバージョンのみしか対応していない環境がほとんどであるため、同じ符号位置の文字であっても、環境を変えると全く違う文字で表示されることがある。
-
- また、バージョン2.0以降から使われるようになったサロゲートペアに対応していないフォント環境もいまだもって多いため、BMP面に非搭載の文字を利用した場合に正しく表現できず文字化けすることがある。
[編集] 文字エンコーディングの変換に関するトラブル
-
- Unicodeマッピングが規定と異なることによるトラブル
- Windowsなどの一部の環境ではUnicodeとJIS X 0208とのマッピングにおいてJIS X 0221の規定と異なるルールを使用している(波ダッシュやマイナスなど)ため、文字化けの原因となる。⇒Unicode
[編集] プログラムの日本語対応の甘さによるトラブル
- Shift_JISを内部コードに利用するアプリケーションでは、エスケープシークエンスの取得の仕方に一工夫必要である。ところがそれがなされていないため問題となる場合がある。海外のアプリケーションの日本語対応時に特に現出しやすい。
[編集] 通信経路でのトラブル
- 通信や記録の段階で、文字データの一部が欠落・変質してしまった結果として、文字データが意味不明な文字列として表示されてしまうこともある。
[編集] 表示能力の無いアプリケーションを利用した場合のトラブル
- ワープロソフトで独自のフォーマットを使用して保存したファイルを、別のワープロソフトやテキストファイルしか読み込むことができないアプリケーションで開いた場合に文字化けが発生する。ワープロソフトによってはバージョンが異なるだけで文字化けを起こすこともある。
- 文書ファイルでないファイルをワープロソフトなどで開こうとした場合にも理解できない文字列として表示され、これも文字化けに含めることもある。
[編集] 関連項目
- 円記号(俗に言う「ダメ文字」)
- Wikipedia日本語版での文字化けの議論。Wikipedia:井戸端会議ログ4
- Microsoftコードページ932 シフトJISのメーカ独自拡張に関する詳しい記述
- 機種依存文字
- Wikipedia:特殊記号