検索
ホームページバックエンド開発PHPチュートリアルPHPのURLアドレスバーで送信される中国語の文字化けの解決策集

PHPのアドレスバーの中国語の$_GETが文字化けする、urlencodeとurldecodeの使い方を詳しく解説
URLエンコード
構文: string urlencode(string str);
戻り値: string
関数の種類: エンコード処理
例:

<?php
$ChineseName="我的名字,是中文的哦";
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>";
?>

URLデコード
URLエンコードされた文字列を復元します。
構文: string urldecode(string str);
戻り値: String
関数の種類: エンコード処理
例:
前に渡された中国語を加工して表示

<?php
$DecodeStr=urldecode($_GET[&#39;name&#39;]);//你可能不用解码都可以,因为浏览器会自动帮你解码
echo $DecodeStr;
?>

getメソッドでURLから取得した中国語の文字化けコードについてPHP の問題

$gonghui = iconv("gb2312","UTF-8",$gonghui); 別のメソッド コード
/**
* マルチバイト文字列エンコーディング変換関数
*
* @param string str エンコードして変換する必要がある文字列
* @param string to_encoding は、gb2312、gbk、utf-8 などの特定のエンコーディングへの変換を指定します, など
* @parammixed from_encodingはJIS、eucjp-win、sjis-winの混合エンコードを同時に指定するなど、元の文字列のエンコードを混合指定します
* @return string
string mb_convert_encoding ( string str, string to_encoding [、混合 from_encoding] )
**/
mb_convert_encoding 関数は、PHP の内部マルチバイト文字列エンコーディング変換関数です、必要に応じてほぼすべてのエンコーディングをサポートできます。 PHP >= 4.0.6、5 つのバージョンがサポートされています。

reg.php?gh=XX を直接取得します;

// Union ログインパラメータ

$gonghui = $_GET['gh'];

取得された $gonghui は gb2312 でエンコードされ、utf-8 Web ページに出力されます。表示用に文字化けしたコード

に変更します // Union ログイン パラメータ
$gonghui = $_GET['gh'];
$gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");

表示は通常になります

ページ全体を変換します

この方法は、すべてのコーディング環境に適しています。このように、最初の 128 文字 (表示文字) 以外のすべての文字セットは NCR で表されます (「漢字」などの数字参照は「漢字」に変換されます)。このようなエンコードをページ上で使用できます。通常の表示環境であれば。

次の 3 行のコードを php ファイルの先頭に追加します。

mb_internal_encoding("gb2312");  // 这里的gb2312是你网站原来的编码     
mb_http_output("HTML-ENTITIES");     
ob_start(&#39;mb_output_handler&#39;);

mb_convert_encoding 関数を使用するには、PHP の mbstring (マルチバイト文字列) 拡張機能を有効にする必要があります。

PHP の mbstring 拡張機能が有効になっていない場合は、PHP が拡張機能をサポートするように次の設定を行う必要があります。

1. Windows サーバー環境
php.ini ファイルを編集し、extension=php_mbstring.dll の前の ; を削除し、Web サーバーを再起動します。

2. Linux サーバー環境
コンパイルおよび設定時に --enable-mbstring=cn コンパイル パラメーターを追加し、PHP をコンパイルしてインストールします。

他のネチズンからの 3 番目の参考方法:
//方法 1 urldecode
$url = 'aaa.php?region='.urldecode("四川省");
aaa

//方法 2 Base64_encode


$test="四川省";
$test1=base64_encode($test);
echo '< ; a href="www.jb51.net?region=$test1">aaa ';
?>

base64_decode を使用して別のページがデコードされます

base64_decode($region);

/ /Method 3: サーバーを中国語に対応させる

[root@dhcp ~]# locale

lang=zh_cn.utf-8
lc_ctype="zh_cn.utf-8"
lc_numeric="zh_cn.utf-8"
lc_time=c
lc_collat​​e=c
lc_monetary="zh_cn.utf-8"
lc_messages="zh_cn.utf-8"
lc_paper="zh_cn.utf-8"
lc_name="zh_cn.utf-8"
lc_address="zh_cn. utf-8"
lc_telephone="zh_cn.utf-8"
lc_measurement="zh_cn.utf-8"
lc_identification="zh_cn.utf-8"
lc_all=
[root@dhcp ~]#

その他の php の場合関連記事は、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
どのデータをPHPセッションに保存できますか?どのデータをPHPセッションに保存できますか?May 02, 2025 am 12:17 AM

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

どのようにPHPセッションを開始しますか?どのようにPHPセッションを開始しますか?May 02, 2025 am 12:16 AM

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?May 02, 2025 am 12:15 AM

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?May 02, 2025 am 12:11 AM

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

PHPセッションはCookieとどのように異なりますか?PHPセッションはCookieとどのように異なりますか?May 02, 2025 am 12:03 AM

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

PHPはユーザーのセッションをどのように識別しますか?PHPはユーザーのセッションをどのように識別しますか?May 01, 2025 am 12:23 AM

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションを保護するためのベストプラクティスは何ですか?PHPセッションを保護するためのベストプラクティスは何ですか?May 01, 2025 am 12:22 AM

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

PHPセッションファイルはデフォルトで保存されていますか?PHPセッションファイルはデフォルトで保存されていますか?May 01, 2025 am 12:15 AM

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン