Safari の Ajax 文字化け対処

Safari の Ajax 文字化け対処

Posted at May 4,2007 1:27 AM
Tag:[Ajax, Safari]

BlogPeople 等のリンクリストによる表示の遅延を解消する(その2:Ajax編)」で「Safari で文字化けします」というご質問を頂き、不具合を修正致しました。

1.問題点

調べたところ、(今更ですが)Safari2.0 では UTF-8 でも Ajax の responseText で文字化けすることを知りました。

WEBプログラミング NOW!:Googleサジェスト--Safariで文字化け

XMLHTTPを使った簡単なプログラムでもSafariは日本語が文字化けします。正しくresponseTextを取得できないようです。本来UTF-8で返されているデータなのに、ISO-8859-1として取得しています。そのために文字化けが発生しています。

この問題は日本語が含まれていなければ顕在化しませんが、BlogPeople のリンクリストは当然日本語だらけなので、Safari で閲覧されている場合はリンクリストが文字化けして表示されます。
UTF-8で表示しているブログ等で、ブラウザの文字コードを「ISO-8859-1」にすれば同じ事象を体験できます。

2.対処

下記のサイトで対処方法が掲載されています。

Kawa.netブログ(川崎有亮)Safari の responseText で UTF-8 コード文字化け回避

BlogPeople 等のリンクリストによる表示の遅延を解消する(その2:Ajax編)」については、紹介されているコードを JavaScript に挿入することで文字化けを回避しましたので、本カスタマイズをご利用の方は、配布 JavaScript(bp.js)を差し替えてお使いになることをお勧めします。

当サイトで紹介している、responseText に日本語を含む Ajax カスタマイズについても別途修正したいと思います。また当サイト自体も Ajax を多用しているので JavaScript の実装を見直します。

3.参考・関連サイト

関連記事
zenback
人気エントリー
トラックバックURL


トラックバック

Safariでdojoを使うと文字化けする件 from 天使やカイザーと呼ばれて
こみゅすけは,dojoというライブラリをかなりの勢いで使用している。dojoは数... [続きを読む]

Tracked on August 24, 2007 11:42 AM
コメント

yujiro 様

文字化けについてなのですが、どのエントリーにコメントして良いのかわからず、ここへエントリーしてしまいました。

ADC にて公開されています、最新の Windows 版 Safari 3.0.4 にて、当サイトを表示したところ、サイドバー等が文字化けしてしまいました。

中央に表示されているエントリー部分は文字化けしていないようです。後、お知らせの部分も文字化けしています。

まだ、正式版でないので待つしかないでしょうが。。

[1] Posted by tattsun : November 14, 2007 9:30 AM

>tattsunさん
こんにちは。
情報ありがとうございました。

今のところ当方でも解消策がみつかっておりません。
お役に立てず申し訳ございません。

[2] Posted by yujiro logo : November 16, 2007 3:27 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)