ホームページ  >  記事  >  バックエンド開発  >  ajax_PHP チュートリアルを通じて文字化けした中国語パラメータを渡す方法の解決策

ajax_PHP チュートリアルを通じて文字化けした中国語パラメータを渡す方法の解決策

WBOY
WBOYオリジナル
2016-07-13 10:54:01880ブラウズ

Ajaxで文字化けした中国語パラメータを渡す方法の解決策 なぜかajaxはデフォルトでuft-8エンコードになっているため、gbkを使うと文字化けしやすいのですが、php ajaxの文字化けを解決する方法を紹介します。

文字化けした中国語パラメータをajax経由で渡す方法の解決策
なぜかajaxはデフォルトでuft-8エンコードになっているので、gbkを使うと文字化けしやすいのですが、PHPチュートリアルでajaxの文字化けを解決する方法をお伝えします。
中国語のパラメータを渡して、データベース チュートリアルを変更します。

<スクリプト>
var url="admin/ajaxmodify.php?"+key+"=";
url+=encodeuricomponent(encodeuricomponent(value));
xmlhttp.open("get",url,true);
xmlhttp.send(null);

パラメータは中国語の encodeuricomponent です。このメソッドは 2 回呼び出す必要があります
*/

関数 utf8rawurldecode ($source) {
$decodedstr = "";
$pos = 0;
$len = strlen ($source);
while ($pos $charat = substr ($source, $pos, 1);
if ($charat == '%') {
$pos++;
$charat = substr ($source, $pos, 1);
if ($charat == 'u') {
// Unicode 文字を取得しました
$pos++;
$unicodehexval = substr ($source, $pos, 4);
$unicode = hexdec ($unicodehexval);
$entity = "" . $decodedstr .= utf8_encode ($entity);
$pos += 4;
}
他に{
// エスケープされた ASCII 文字があります
$hexval = substr ($source, $pos, 2);
$decodedstr .= chr (hexdec ($hexval));
$pos += 2;
}
} その他 {
$decodedstr .= $charat;
$pos++;
}
}
$decodedstr;
を返します }

/*
注: js で文字トランスコーディングを使用する場合は、escape() の代わりに encodeuricomponent() または encodeuri() を使用することをお勧めします。その理由は、escape() は ASCII 文字を %unnnn などのコードにのみ変換するためです。utf-8 文字ライブラリなどのさらに多くの文字を使用したい場合は、encodeuricomponent() または encodeuri() を使用してコードを変換する必要があります。 %nn%nn。

js: encodeuricomponent - decodeuricomponent; php: rawurlencode - rawurldecode

*/

http://www.bkjia.com/PHPjc/632362.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632362.html技術記事 ajax が文字化けする中国語パラメータを送信する方法の解決策 ajax はデフォルトで uft-8 エンコーディングを使用するため、gbk を使用すると文字化けが発生しやすくなります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。