エキサイトブログの文字コードは「UTF-8」
2009年 02月 06日
ちょっと前から「SE♂のノウハウ」に、Delphiのコードを書いてるんだけど、
固定ピッチフォントの「MS ゴシック」を指定しているにも関わらず、
半角英数文字が等間隔にならないってことに悩まされてた。いや、気になってたくらいか。
でも、原因がやっとわかった。
それは、タイトル通り「エキサイトブログの文字コードがUTF-8」だから。
Internet Explorerは、文字コードがUTF-8の場合、
全角文字は日本語、半角英数は英語 といった感じに文字によって別の言語として認識しているらしい。
この仕様のおかげで、異なる言語が混在するサイト、たとえば日本語と韓国語が混在するサイトでも、
文字化けすることなくどちらの言語も表示することが出来る。
けどその副作用のめ、文字コードがUTF-8の場合、いくら「MS ゴシック」を指定しても、それが適用されるのは全角文字のみ。
下図を見るとわかりやすい。(IEで見ないと崩れないけど)
上では、半角英数(含:半角スペース)が、固定ピッチ(均等な文字間隔)で表示できないため、
罫線での枠が崩れてしまっている。
全角文字+半角文字(含:半角スペース)GoogleのChromeとか、IE以外のブラウザだとMS ゴシックで表示されるから、
┏ yozda━━━━━━┓
┃やるき:まぁまぁ ┃
┃つかれ: 70% ┃
┃ ┃
┃SE Lv : 9 ┃← 昨日の午前中のボキ
┗━━━━━━━━━┛
全角文字のみ
┏よちだ━━━━━━┓
┃やるき :どんぞこ┃
┃ストレス:200%┃
┃ ┃
┃キャリア:9年目 ┃← 昨日の定時前のボキ
┗━━━━━━━━━┛
IEに原因があるだろうとは思ってたけど、まさか文字コードに原因があるとは思いもよらんかった。
IE以外の人は 「なんのこっちゃ?」 だろうから、以下に参考画像。
手前はGoogle Chrome。罫線が崩れてないやろう?
---
09.02.07 追記
IEのファイルメニュー > ツール > オプション で
┌ 全般 ┐ (┌ ┐← タブ) > [フォント] を選び、
ラテン語基本のフォントを変更(MS ゴシック)することで解決する。