blog.鶯梭庵

二〇〇六年 水無月 五日 月曜日

Ajax で日本語を含む JSON を使う [/this_blog/ajax]

Ajax の X は XML の X だが、サーバから渡されたデータを JavaScript で処理するなら、XML よりも JSON の方が簡単に扱える。ところが、日本語を含む JSON をそのまま Safari に渡すと、文字化けしてしまう。

それに対する解決策として、高橋登史朗氏は日本語を URL エンコードしているが、そんな面倒なことをしなくても、HTTP ヘッダの Content-Type で文字コードを指定してやればよい。(どうでもいいけど、彼のサイトでコメントを書こうとすると、そっけなく「404」と言われる。)ヘッダの値について、かぜぶろ氏があれこれ試しているが、的をはずしている。JavaScript の MIME タイプは昔から application/x-javascript と相場が決まっている。

というわけで、簡単な解決策は、JSON を出力するさいに、HTTP ヘッダとして以下を出力する。


Content-Type: application/x-javascript; charset=文字コード


2006年7月3日追記 JSON の MIME タイプは application/json と決められている。が、私の環境でテストした限りでは、Opera 8.x はこれに対応していないようだ。やはり、昔ながらの application/x-javascript がよいようだ。

[この記事にコメントを書く。] [このカテゴリをまとめて読む。] [最新の記事を読む。]

RSS feed

カテゴリ

[/language] (98)
[/links] (254)
[/mac] (114)
[/music] (36)
[/origami] (406)
[/this_blog/ajax] (7)
[/this_blog/blosxom] (4)
[/this_blog/history] (12)
[/this_blog/perl] (9)

最新記事

パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その5 [/language]
ニューラルネットワークとディープラーニングで翻訳はどうなる・その4 [/language]
HTTPS 対応 [/links]
ひらがな・カタカナ学習ウェブアプリ [/links]
日本語の「た」と英語の過去形 [/language]
ORI-REVO で回転楕円体を折る・その2 [/origami]
ORI-REVO で回転楕円体を折る・その1 [/origami]
折り紙建築 [/origami]
折鶴に松図小柄 [/origami]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その6 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その5 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その4 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その3 [/links]
改訂版・たぶん、ほとんどの人は viewport meta タグの指定をまちがえてる・その2 [/links]

羽鳥 公士郎