私は実際に2ページを取得しました。1つはISOで、もう1つはUTF8です。私は大きな混乱を起こさずにそれらを変更する可能性はありません。
UTF8ページには、漢字のGETデータをISOページに送信するフォームがあります。URLはUTF8
のように見えます。search=文員
ISOページでデータを受け取りましたが、読みやすい文字で入力できません。
解決策はありますか?
たぶん、JavaScriptでUTF8ページのデータを変換する必要がありますか?
私は実際に2ページを取得しました。1つはISOで、もう1つはUTF8です。私は大きな混乱を起こさずにそれらを変更する可能性はありません。
UTF8ページには、漢字のGETデータをISOページに送信するフォームがあります。URLはUTF8
のように見えます。search=文員
ISOページでデータを受け取りましたが、読みやすい文字で入力できません。
解決策はありますか?
たぶん、JavaScriptでUTF8ページのデータを変換する必要がありますか?
送信ページを変更できる場合は、フォームタグに次を追加します。
<form accept-charset="ISO-...">
2ページ目に正しいエンコーディングを挿入します。詳細については、MDNをご覧ください。
フォームに属性を与えることとは別にaccept-target
、別のオプションは、受信ページのデータを変換することです。
$data = $_POST['data']; // for example
$data = iconv('UTF-8', 'ISO-ENCODING-HERE', $data);
iconv
入力データをターゲット文字セットで表すことができない場合に関数の動作に影響を与えるオプションについては、ドキュメントを参照してください。
この関数を使用して、文字列を現在のエンコーディングから目的のターゲットエンコーディングに変換できます。
function correct_encoding($text, $target_encoding='UTF-8') {
$current_encoding = mb_detect_encoding($text, 'auto');
$text = iconv($current_encoding, $target_encoding, $text);
return $text;
}