IEのform要素はacceptCharset属性(accept-charset)に非対応らしい
蓄々check*pad Bookmarkletを公開したお知らせのコメント欄でeuc-jpだと文字化けするバグ報告を頂きました。原因を調べてみると、IEがform要素のacceptCharset属性に非対応なために起こっている問題でした。Firefoxは大丈夫なようです。
check*pad側へ送るマルチバイト文字列はeuc-jpで送る必要があり、acceptCharset属性にeuc-jpを設定して処理していたのですが、IEではページの文字エンコードそのままで送られてしまうためshift-jisやutf-8のページでブックマークレットを使うと文字化けしてしまうようです。IEのおばかさんめ。
現在、文字化けを回避する方法を模索中です。ひとつの策としては、いったんwww.akiyan.comに送信し、euc-jpのページを間にかましてcheck*pad側へ再送信する方法があります。ピュアなbookmarkletでなくなってしまうのが嫌なところです。
acceptCharset関係で情報をお持ちの方がいましたらお助け頂ければ幸いです。
解決しました。のちほど解決方法のエントリを公開します。