【PR】 パソコン・周辺機器のご購入をご希望ですか?
【PR】 書籍・写真集をインターネットでお探しならこちら
【PR】 Panasonic ホームベーカリー シルバーホワイト SD-BMS101-SW
【PR】 海外求人情報(アメリカ・ハワイ・カナダ)
 

・「美乳」で文字化けが直るって本当?



オンラインDVD&CDレンタルなら月々1980円で借り放題のDMMがお得!


えっ? って聞きなおしたくなるようなタイトルですが、「この『美乳』という文字をヘッダー部分にコメントとして挿入しておくと、文字化けが直る」という話は確かに存在します。ただし、これは大前提としてEUC-JPのページを作成するならば、という話になります。

<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=EUC-JP">
<!-- 美乳 -->
<TITLE>テスト1</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
このページはアダルトサイトとは無縁です。ヌード画像などは一切ありません。
</BODY>
</HTML>

では、なぜ、この「美乳」がおまじないになるのかということを説明するためには、Shift_JISコードの特質を考えてみると、分かってきます。

Shift_JISにおいては、2バイト文字の2バイト目は0x40〜0x7E、0x80〜0xFCの範囲にあります。したがって、0xFDや0xFEは使われていません。これらのコードを持つ文字がもし現れているのならば、ブラウザはShift_JISでないとすぐに判断できるはずですから、文字化けが発生しないという理屈です。

では、EUC-JPにおいて2バイト目が0xFD及び0xFEを持つ文字とはどのような文字でしょうか? EUC-JPの存在領域から考えて、1バイト目は0xA1〜0xFEになります。ここでプログラムで出力してみますと、



になります。この美乳テーブルを出力する、PHPで書いた にあります。

勘の良い人は気がつかれていると思いますが、2バイト目に0xFDを持つ漢字の一覧表でも、0xFEを持つ漢字の一覧表でも、機種依存文字が混じっています。具体的には、0xF9FD、0xFAFD、0xFBFDの3文字( の3文字)及び、0xF9FE、0xFAFE、0xFBFEは機種依存文字( の3文字)に当たります。これはWindowsでは表示されますが、Macでは正しく表示されません。

話を元に戻しますと、上の二つの表から「美乳」の期限が分かるかと思います。「美」は「0xC8FE」です。また、「乳」は「0xC6FD」です。ともに、Shift_JISコードの文字では絶対に持っていないコードを、2バイト目に持っています。ですから、これをHTMLソースの上の方に置けば、文字化けは起こらないというわけです。

理論的にはこれで良いのですが、さすがに「美乳」とソースに入れておくのは恥ずかしいということで、他の文字で代行する場合も多いです。例えば、2バイト目に0xEDを持つ漢字で『最大値』(機種依存文字を除く)ともいうべき「龜」(0xF3FD)や、0xEEバージョンの「龠」(0xF3FE)などです。特に後者の「龠」は、検索エンジンの「goo」でも利用されています。その他、「来」というのも使われているようです。また、Yahoo! Japanでも、メタタグを指定せずに、同様の対策を行っています。

(参照)▼Yahoo! JAPANが実施している文字化け対策
http://docs.yahoo.co.jp/docs/help/mojibake/sonota.html
「0xFDFE」をヘッダー部分に挿入していると書かれています。この文字は、上の表では「・」にしか見えませんので、普通のエディターでは直接入力が難しいと思います。プログラムで出力しているか、Shift_JISコードを計算して、それを入力しているのだと思います。また、Yahoo! Japanでは、より一般的な感じである「京」(0xB5FE)を使っているページもありました。

これらの文字をヘッダー部分の上の方にコメントとして挿入するという方法が、「美乳」で文字化けが直るという真相だったのです。ここで重要なのは、必ずヘッダー部分の上の方に入れること。下の方に挿入しても、意味がありません。

次のページでは、フォントと文字化けの関係について考えます。