ブログのJavaScriptを使ったカスタマイズについて教えてください。
こんにちは。Ajax初心者です。
JavaScriptを使ってライブドアブログをカスタマイズしています。
カテゴリ内の複数ページにわたる記事のリストを作ろうと思い、
Ajaxを使って2ページ目以降のデータを取得してみたのですが、
ブラウザにIE6を使ったとき、始めの1回目の表示は正常でも、
再読み込み(ページの更新やリクエストの再送信)をすると
日本語のテキストが文字化けしてしまいます。
AjaxではUTF-8が良いと聞きましたが、ライブドアはEUC-JPなので、
それが原因なのでしょうか?
解決するためのアイディアやヒントなどありましたら
合わせてご教示いただけると助かります。
ちなみに受信データはresponseTextを使っています。
丸投げですみませんが、
よろしくお願いいたします。
回答
コメント(12)
いいか悪いかは別として、どっか別の鯖でeuc-jp→UTF-8な変換だけするCGIを仕掛けておけば現実問題としては回避できるのではないでしょうか。
Ajaxってなんですのん^^;(←帰れ)
>>#1
★オニキス☆さんありがとうございます。
今は使えるサーバをなくしてしまったので、すぐにはできませんが、
近々復帰させて試してみます。
コード変換ですか。。
現状でもいくつか試してみたいことができました。
>>#2
ええと…わかりません(汗
途中経過ですが、
responseXMLを使えば文字コードが反映されるということらしいので、
http://jsgt.org/ajax/ref/charset_test/responsetext...
試してみましたが、どうもうまくいきません。
デバッガを見るとレスポンスはあるようなのですが、
どうもその内容がXMLと解釈されないのか、
responseXMLからはnullを返されているようです。
ということでその回避方法を模索しています。
レスポンスの有無自体はresponseTextで確認できるようです。
ということからして、responseTextで値が返されるのにresponseXMLではnullを返される場合は、XMLとしてパースされていないという解釈で良いみたいです。
調べてみたらレスポンスヘッダにXMLの指定がないとダメらしいです。
http://developer.mozilla.org/ja/docs/XMLHttpReques...
サーバ側では弄りようがないなーと思っていたら、overrideMimeType()メソッドを使うと強制的にXMLとして読めるとのことで、これを試し中です。
http://developer.mozilla.org/ja/docs/XMLHttpReques...



