".$str; ?このように、『私は"/> ".$str; ?このように、『私は">

ホームページ >バックエンド開発 >PHPチュートリアル >PHP は GET を使用して漢字のエンコード変換を送信します

PHP は GET を使用して漢字のエンコード変換を送信します

WBOY
WBOYオリジナル
2016-06-13 13:03:18863ブラウズ

PHP は GET を使用して漢字のエンコーディング変換を送信します

? GET メソッドを使用して中国語の文字エンコーディングを送信する場合、ブラウザーごとに異なる問題が発生するため、次のコードに示すように、まず中国語の文字をトランスコードしてから Unicode に変換して送信する必要があります。

$str = rawurlencode(iconv("GBK", "UTF-8", "我是谁"));
echo "<br> ".$str;
? この方法では、「Who am I」は %E6%88%91%E6%98%AF%E8%B0%81 のようなエンコードに変換され、ブラウザーのアドレス

に送信されます。

このパラメータを受け取ると、エンコードを逆変換する必要があり、処理は 2 つのステップに分かれます:

1. ページのエンコード形式を定義します:

これは最初のステップであり、このページを読み取るときに表示するエンコーディングを使用するようにブラウザーに要求するため、ヘッダー エンコーディングの定義をページに追加する必要があります:

header("Content-Type:text/html; charset = gbk");

どのようなエンコーディングであっても、それはどのエンコーディングでもあります。

2. 受信データ:

GET メソッドを使用して中国語の文字を送信すると、ブラウザによって Unicode エンコードに解析されるため、最初に utf-8 エンコードに変換する必要があります。

??????

$_articleName = rawurldecode($_articleName) ;
?????? rawurldecode は、%E6%88%91%E6%98%AF%E8%B0%81 を utf-8 に変換します。

次に、iconv を使用してエンコーディングを変換します。

?
$_articleName = iconv("UTF-8", "GBK", "$_articleName"); 

このようにして、gbk のエンコードを正常に表示できます。

gb2312 も同じですが、gbk を gb2312 に置き換えるだけです。

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。