「ほっ」と。キャンペーン

self memo

<   2009年 04月 ( 2 )   > この月の画像一覧

IEのバグ?

以下の記事を読んだ。

Internet Explorerでページが真っ白になるバグ

パッと見した時点で、
title要素でマルチバイト使う前にchasetを指定しなきゃダメに決まってるじゃんか!
それをバグと言われたらIEかわいそう!
と思ったのだがちょっとだけ調べてみた。

まずはW3C勧告文書のHTML 4.01仕様書(日本語訳)を確認。

以下が該当部分かと思われる。
5.2.2 文字符号化方法の指定
以上を要約すると、本仕様に適合するユーザエージェントは、文書の文字符号化方法を決定する場合に次の 優先順位を守らねばならないということである。優先順位の高いものから低いもの順に以下の通り。

1. HTTPヘッダのContent-Typeフィールドの、charsetパラメータ。
2. META要素で、http-equiv属性値がContent-Typeかつvalue属性の値にcharset情報があるもの。
3. 外部リソースを指している要素に設定されているcharset属性値。

という事で試してみた。

環境は以下の通り。
ブラウザ:IE7
テスト用HTML
<html>
<head>
<title>Internet Explorerでページが真っ白になるバグ - IDEA*IDEA ~ 百式管理人のライフハックブログ ~</title>
</head>
<body>
test
</body>
</html>

※charsetはUTF8

最初にHTTPヘッダのContent-Typeフィールド未出力でアクセス。
確かに何も出力されない(ページが真っ白)。

次に、.htaccessに以下を追記。
AddType "text/html; charset=utf-8" .html

IEを再起動してアクセスしてみると、ページタイトルもコンテンツも正常に表示された。

IDEA*IDEAの人の環境(IEのバージョン、HTTPのレスポンスヘッダ、外部リソース内のcharset)が書いていないので何とも言えないが、自分が確認する限り、(今回の点に関しては)IE7はW3C勧告に準拠してると思う。

これについてちゃんと書いてる人がいた。
charsetに関する注意書き
というわけで、「HTML文書公開者に、META要素でcharsetを指定するように啓蒙する」のは正しくありません。HTTPサーバ管理者に、HTTPヘッダにcharsetを付けるように啓蒙しなければいけません。

気を付けます…。
[PR]
by aratafuji | 2009-04-02 12:39 | レポート

新規サービスリリース完了

前職であるエキサイトから発注してもらっていた新規サービス(キッチン)のリリースが無事完了。
一昨日リリースし、昨日引き継ぎを行い、今日から自社に復帰。

直近での業務が無かったため、今日は以下のような事をしてた。
- 作りたいiPhoneアプリがあるので、目指せ!iPhoneアプリ開発エキスパートを見ながらサンプル作成
- ついでにiPhone Dev Centerのドキュメントもパラパラと閲覧
- 次に作るサービスはぜひRailsで作りたかったので、RailsによるアジャイルWebアプリケーション開発Rubyレシピブックでお勉強
- Rails使うならAptanaだと前に聞いてたので、とりあえず自前のサービス(PHP)をsamba経由でプロジェクトとして読み込み、ちょいっと編集

自前のサービスにFlashを組み込みたいと思っていたが、AS3、Flexの勉強は放置中ー。
OpenID, OAuth, OpenSocial辺りも勉強したいとは思ってるけど、出来てないー。
うーん、学ぶべき事多すぎ…。
まあ、それが楽しいからWebアプリケーションエンジニアを続けていると信じたい。
[PR]
by aratafuji | 2009-04-01 18:38 | つぶやき