トップページ > ブログ > ShiftJIS・EUC-JPとUTF-8の、表示上の違いについて

ShiftJIS・EUC-JPとUTF-8の、表示上の違いについて

2005年02月25日
もともとUTF-8は複数の言語を盛り込むことができるコード体系。最新版のIEではこれを忠実に表現しようとする。たとえば、日本語とハングルとアラビア文字が混在していても問題なく表示できる。

これだと困ることがある。IEのUTF-8解釈では、全角の和文と半角英数字ですらも、それぞれ別の言語つまり「日本語と英語」として認識する。そうすると、たとえばCMSやブログと既存コンテンツを統合する製作の場合。最近のCMSやブログはUTF-8ベースで提供されているものが多いが、この場合、既存コンテンツのページと微妙に表示が異なってくることがある。

<%image(share/20060325-eucutf8.gif|252|99|)%>

つまり上記のようになります。上がeucで作った場合。下がutf-8。英字部分のフォントが微妙に違うのが分かりますか?フォントをきっちり指定すればよさそうだけど、うまくいかないこともあり。

****※2006年3月28日追記

この記事を書いた時点で、すごく苦戦した案件があったのだけど再現できず。EUC-JPで組んだZenCartコンテンツとUTF-8で組んだNucleusコンテンツとでナビゲーション部分を統一しようとして、どうしても文字サイズが微妙にズレるので困ったという話。まる一日がんばってもラチがあかず、EUC-JPで組み直したというくらいで。
http://www.zoneone.info/rwith/design/...
いろいろ調べてみたけど、これは仕様みたい。UTF-8でページを作った場合、IE6では半角英数字は「英文フォント」で表示される。通常、特に個別の指定などがなければ、ページ全体を単独のフォントで表示する。しかしUTF-8では、文字列単位で「この文字は英文だ」「この文字は和文だ」と判別して、それぞれ専用のフォント体系で表示する。

トップページに戻る