いやいや、ホントにこう思います。
IEが世の中からなくなったら、
世界中で働くwebデベロッパー達の、
労働時間の3分の1は自由時間になるのではないか・・・?
これ冗談じゃなくて。まじで。マジ思う。
ってことで、謎の文字化け対策が解決。
Formを使って、テキストデータを別のドメインへ送信する時には、
送信元と送信先の文字コードを気にしないといけませんね。
文字コードが異なる場合にはこれ。
例えば、送信元がUTF8で送信先がSHIFT-JISの場合。
formタグへaccept-charset="送信先の文字コード"を入れます。
↓こんな感じ
<form method=”post” action=”http://www.test.com/” target=”_blank” accept-charset=”SHIFT-JIS”>
よし、これで解決!かと思いきや、裏切るのがIEです。
私の調査範囲内では、FireFox/chrome/safari/operaに対しては有効で、何の問題もありません。
が、しかし。IEでは文字化けます。
IEはaccept-charsetを無視して、送信元の文字コードでデータを送信してしまうそう。
ホントいちいちウザイ。死んでくれ、まじで。
私的にはaccept-charsetを入れたんだから、
php内の思わぬところで文字コード変換が行われていて、
それが悪さをしているのかと思い、上から順に3000行チェック。。。
そしてもう一度落ち着いてチェックしてみたら、無視する、だと。もう泣いちゃったよ、と。
とにかく修正方法としては、javascriptのcharsetを使って解決することが出来ました。
<input type=”submit” onclick=”document.charset=’SHIFT-JIS’;” value=”送信します” />
※ソースは全角になってるので注意。
この「onclick="document.charset='SHIFT-JIS';"」をsubmitに入れると解決しました。
いやぁまぁでもなんとか解決出来ただけましなのはわかってます。
IEが世の中からなくなったら、
世界中で働くwebデベロッパー達の、
労働時間の3分の1は自由時間になるのではないか・・・?
これ冗談じゃなくて。まじで。マジ思う。
ってことで、謎の文字化け対策が解決。
Formを使って、テキストデータを別のドメインへ送信する時には、
送信元と送信先の文字コードを気にしないといけませんね。
文字コードが異なる場合にはこれ。
例えば、送信元がUTF8で送信先がSHIFT-JISの場合。
formタグへaccept-charset="送信先の文字コード"を入れます。
↓こんな感じ
<form method=”post” action=”http://www.test.com/” target=”_blank” accept-charset=”SHIFT-JIS”>
よし、これで解決!かと思いきや、裏切るのがIEです。
私の調査範囲内では、FireFox/chrome/safari/operaに対しては有効で、何の問題もありません。
が、しかし。IEでは文字化けます。
IEはaccept-charsetを無視して、送信元の文字コードでデータを送信してしまうそう。
ホントいちいちウザイ。死んでくれ、まじで。
私的にはaccept-charsetを入れたんだから、
php内の思わぬところで文字コード変換が行われていて、
それが悪さをしているのかと思い、上から順に3000行チェック。。。
そしてもう一度落ち着いてチェックしてみたら、無視する、だと。もう泣いちゃったよ、と。
とにかく修正方法としては、javascriptのcharsetを使って解決することが出来ました。
<input type=”submit” onclick=”document.charset=’SHIFT-JIS’;” value=”送信します” />
※ソースは全角になってるので注意。
この「onclick="document.charset='SHIFT-JIS';"」をsubmitに入れると解決しました。
いやぁまぁでもなんとか解決出来ただけましなのはわかってます。