ブラウザで意中のコンテンツが文字化け... 友人からのメールを開封したら文字化け... など、文字化けはパソコンライフにおける身近な事件の一つです。まずは落ち着いて、ブラウザやメーラなら「文字エンコーディング」などのメニューをたどってみる。これで解決すればへっちゃらですが、日常茶飯事かつ複雑なのが文字化け。なぜ文字は化けてしまうのでしょうか。
コンピュータで文字を扱うには規則として「文字コード」が用いる方式が主流です。文字コードは自分のパソコンでテキストを作成/保存する際、インターネットを介して別のコンピュータとデータをやりとりする際にも深く関わります。そんな文字コードの重要用語は「符号化文字集合」「符号化方式」。
文字コード方式では、まず数字と英字だけ、平仮名、漢字も...と数ある文字の中からどれを扱うか集合を決め、文字にはコンピュータで扱いやすい0(ゼロ)、1(イチ)ベースのビットの組み合わせを割り当てます。文字の集合とビット組み合わせの対応付けが符号化文字集合。代表的な規格にJIS X 0208、Unicodeなどがあります。
文字と01ベースの対応だけでは、別の文字コードと組み合わせたい、コンピュータの処理に合わせて計算で変形したい場合など、ルールが足りず困ります。そこで発達したのが(文字)符号化方式で、Shift_JIS、ISO-2022-JP、UTF-8など。これらはアプリケーションメニューでお馴染みですね。符号化文字集合は、実際にはこの運用方式である各種符号化方式に則って使われます。
そんな符号化文字集合と符号化方式の関係は密接で、単に「文字コード」という場合いずれかを指したり両方を含んだり... さらに、前出のShift_JISには機種依存文字付きの変種CP932などがありそちらのほうがメジャーだったり... そう文字コードは複雑です。言語や文化などと関わる文字そのものの複雑さや、規格を含む過去の経緯の積み重ねが大きな理由とされています。さらにたとえを使うなら理系と文系の架け橋でもあるでしょうか。コンピュータと文字。その渦中にあるのが文字コードとすると複雑になるのも納得のような。
さて冒頭に話を戻し大雑把にいうなら、大抵の文字化けは文字に関する正しいヒントが欠けている状況にパソコンが困っているだけです。パソコンが処理できるヒントを渡せばok。どのヒントを渡すかは次なる難所ですが、規格の理解のほか案外経験も効果的なようです。文字化けの経験値UPは悩ましいですが...。(牛丼)