2

私は実際に2ページを取得しました。1つはISOで、もう1つはUTF8です。私は大きな混乱を起こさずにそれらを変更する可能性はありません。

UTF8ページには、漢字のGETデータをISOページに送信するフォームがあります。URLはUTF8
のように見えます。search=文員

ISOページでデータを受け取りましたが、読みやすい文字で入力できません。

解決策はありますか?

たぶん、JavaScriptでUTF8ページのデータを変換する必要がありますか?

4

3 に答える 3

2

送信ページを変更できる場合は、フォームタグに次を追加します。

<form accept-charset="ISO-...">

2ページ目に正しいエンコーディングを挿入します。詳細については、MDNをご覧ください。

于 2012-04-27T07:28:53.283 に答える
1

フォームに属性を与えることとは別にaccept-target、別のオプションは、受信ページのデータを変換することです。

$data = $_POST['data']; // for example
$data = iconv('UTF-8', 'ISO-ENCODING-HERE', $data);

iconv入力データをターゲット文字セットで表すことができない場合に関数の動作に影響を与えるオプションについては、ドキュメントを参照してください。

于 2012-04-27T07:38:00.117 に答える
0

この関数を使用して、文字列を現在のエンコーディングから目的のターゲットエンコーディングに変換できます。

function correct_encoding($text, $target_encoding='UTF-8') {
    $current_encoding = mb_detect_encoding($text, 'auto');
    $text = iconv($current_encoding, $target_encoding, $text);
    return $text;
}
于 2012-04-27T07:49:20.273 に答える