coldfusion8でajaxを使用して作成しているフォームでAJAXのエラーが発生。
ColdFusion8のAJAXデバッグウィンドーには以下のとおり。
「window:global: System error: -1072896658.」
で、このエラーコードで検索したところ、原因は判明。
IEのみに発生する問題のようで、HTTPサーバから送信されるキャラクタセットヘッダをしっかり設定しないと問題が発生するらしい。
試しに、Firefoxで同じソースを実行すると、エラーはでませんが結果の表示は文字化けを起こしています。
で、対処方法は、apacheの「httpd.conf」の以下の行。
AddDefaultCharset none
検索したがこの「AddDefaultCharset」キーワードがhttpd.confにありませんね。
バージョンの関係でしょうか。
だとしても、直接httpd.confに設定したくはないので、coldfusionのみでというか、このアプリケーションのみで対応させる方法を検索。
ColdFusionでは、「cfcontent」タグで現在のページの MIME コンテンツエンコードヘッダーを設定することができます。
なので、AJAXで出力しているcfmファイルの1行目に次のように記載。
これでIEでエラーがでずに出力されました。
Firefoxでも文字化けせずに出力されています。
charsetの所は、任意の文字コードです。今回はShift-JISで開発しているので。
charset=MS932では動きませんでした。
Windows-31Jもだめ。
2008/09/01 追記
文字コードをShift-JISにすると?になる漢字がある。
やっぱUTF-8でないとだめみたいやな
Coldfusionの内部文字コードがUTF-8の所為か、それとも
AJAXライブラリーのファイルの文字コードの所為やろか