二〇〇六年 水無月 五日 月曜日■ Ajax で日本語を含む JSON を使う [/this_blog/ajax]この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。 Ajax の X は XML の X だが、サーバから渡されたデータを JavaScript で処理するなら、XML よりも JSON の方が簡単に扱える。ところが、日本語を含む JSON をそのまま Safari に渡すと、文字化けしてしまう。 それに対する解決策として、高橋登史朗氏は日本語を URL エンコードしているが、そんな面倒なことをしなくても、HTTP ヘッダの Content-Type で文字コードを指定してやればよい。(どうでもいいけど、彼のサイトでコメントを書こうとすると、そっけなく「404」と言われる。)ヘッダの値について、かぜぶろ氏があれこれ試しているが、的をはずしている。JavaScript の MIME タイプは昔から application/x-javascript と相場が決まっている。 というわけで、簡単な解決策は、JSON を出力するさいに、HTTP ヘッダとして以下を出力する。
2006年7月3日追記 JSON の MIME タイプは application/json と決められている。が、私の環境でテストした限りでは、Opera 8.x はこれに対応していないようだ。やはり、昔ながらの application/x-javascript がよいようだ。 |
カテゴリ
[/language] (98) 最新記事
◇ パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links] |