技術情報:困ったこと IEでAjax時に起こるエラー c00ce56e

お久しぶりでございます。




最近また懲りずにいろんなモノを
細々と作ってるわけだけど、
今回はサーバー側がPHPAjaxアプリ作成中に出くわしたこと。




Ajax開発者の方なら一度は目に触れたこともあろうかと思う
IEのエラー、
「エラー c00ce56e のため操作を完了できませんでした」
について。




そもそも社内で勝手に作ってるので
ページ文字コードは最初っからUTF-8
サーバーもFedoraUTF-8
PHPUTF-8とくればAjaxで困ることはないだろうと思っていたのだが・・・


サーバーからのレスポンスはJSON形式、
header('Content-type: application/json charset=utf-8');
とした後に
echo '"a" : "ほげほげ"'としたり
echo json_encode(Array("a" => "ほげほげ"))としたり(json_encodeは本当に便利!)
する際に、マルチバイト文字が含まれると上記のエラーが発生。
以前の案件で文字コード関連というのは予想がついていたのだが、
全部UTF-8なのにそりゃないだろ〜と調べていたら、判明。。




php.iniの
default_charset = "UTF8"
となっていた所を
default_charset = "UTF-8"
にしたら直ったorz
紛らわしいけどシフトJISSJISとかS-JISとかWindows31Jとかあるもんね。。
というわけで皆様もお気をつけくださいまし。