讎りヲ(概要)
概要の「文字コードの相違等により意図しない表示となること、あるいはそのように見える状態を指す。」をUTF-8で記述して、それをShift_JISで表示させると、「譁?ュ励さ繝シ繝峨?逶ク驕慕ュ峨↓繧医j諢丞峙縺励↑縺?。ィ遉コ縺ィ縺ェ繧九%縺ィ縲√≠繧九>縺ッ縺昴?繧医≧縺ォ隕九∴繧狗憾諷九r謖?☆縲」となる。
蜴溷屏(原因)
コンピュータ上で文字を利用するために各文字に割り当てられる固有の数値のことを文字コードといいうが、これに不整合があると意図しない文字が表示される。
具体的には以下の場合が存在する
- 通信状態の問題
- 通信状態が悪いために一部内容が欠落したりする
- これにより1バイト表示の文字、たとえばASCIIでも表示がおかしくなる場合が存在する。
- 文字コードの表示法の違い
- 文字コードの仕組みなどが異なるため、表示されない、あるいは意図しない表示がされる
- 半角カタカナなどもこの要因となりやすい。
- フォントの問題
- プログラムの問題
- プログラム上表示できない文字を別の文字、たとえば文字参照で表示したり別の文字で表示するもの
Web繝壹?繧ク縺ョ譁?ュ怜喧縺(Webページの文字化け)
インターネット上では日本語の文字コードとしてShift_JISがよく使われていたが、ほかにも複数文字コードは存在し、同じ日本語の文字コードでもEUC-JPとISO-2022-JPとの互換性がない。
基本的にWebページを表示する際にページに設定された文字コードをブラウザ側が判別して表示するが、判別を失敗する、たとえば設定が記述されていなかったり、誤った設定を含むページだと文字化けが発生する場合があり、その場合は文字コードを手動選択することで改善される場合がある。
昔のブラウザは一部の文字コードを判別できないものがあったため、不具合回避のため文字コードを意図的に記述しないサイトがしばしばみられたことも一因である。
昔のインターネットでは丸数字禁止、半角カナ禁止などがくり返し言われていたが、2010年代以降のOSやWebサイトではUnicode(符号化形式はWindowsではUTF-16、LinuxではUTF-8)が使われており、心配が減った。丸数字、半角カナ禁止も過去のものとなり、今では絵文字すら表示できる。
Unicodeが広まった現在、文字化けしやすいのはInternet Archiveでの古いサイト閲覧で、日付アドレス末尾に「id_」を付けると解決できる場合がある(詳細)。
混合
時折、デバッグが甘い、あるいは広告との兼ね合いにより複数の文字コード、たとえばShift_JISとUTF-8、あるいは外国語コードが混在しているサイトが存在するが、運営仕事しろといいたくなる。
誤解してはいけないこと
文字化けが発生するのは特にUTF-8で2バイト以上で表される文字の問題であり、半角英数などの1バイト領域にある文字、たとえばASCIIなどは文字コードにこの内容を含むことが多いため文字化けすることはない( 半角カナはShift_JISでは1バイトであるが、UTF-8では3バイト領域の文字であることに注意 )。
データが破損しない限りは超長期間文章を保存するなら半角英数文字のローマ字で残すといいかもしれないが、やり方は簡単で、全文を数値文字参照にすればOK、HTMLソースに書き込んでおけば、Webブラウザでファイルを開くことにより、原文が出てくるが、ただしUTF-8とUTF-16は互換性はないことには注意されたし。
pixiv
ピクシブ百科事典ではエンコード方式がUTF-8なので、基本的に世界のどの言語のOSが接続してもブラウザとフォントが対応してくれれば同じように表示できるようになっているが、仕様により第三水準や第四水準の漢字の一部に該当する「UnicodeでU+10000以上の文字」が利用できないという状況が発生したことがある。
髢「騾」鬆?岼(関連項目)
豆腐...「□」のような四角い記号のこと。端末に適合する文字コードがない場合に表示される。
脳人、ヒトツ鬼(暴太郎戦隊ドンブラザーズ)…作中に文字化けが頻繁に出てくる他、脳人の言語は文字化けで表示される。メタ的にはUTF-8で書いた単語をShift_JISで表示している仕組み。プロデューサーの白倉伸一郎は古くからのPCマニアである。
文字化化…「もじばけ」と読むホラーゲーム(言語解読×脱出ホラー×女子向け恋愛ADV)。