phpプログラミング、urlを印刷して伝わる中国語は文字化けしです


url符号化構文:string urlencode(string str);戻り値:文字列関数の種類:エンコーディング処理:
 
  
<?php
$ChineseName=" , ";
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?name=$EncodeStr> </a>";
?>

url復号
URLエンコーディング文字列を復元します.
構文:string urldecode(string str);
戻り値:文字列
関数の種類:エンコーディング処理
例:
前から伝わってきた中国語を処理表示する
 
  
<?php
$DecodeStr=urldecode($_GET['name']);// ,
echo $DecodeStr;
?>

phpがgetメソッドでurlから取得した中国語の文字化けし問題について$gonghui=iconv(「gb 2312」,「UTF-8」,$gonghui)を使用する.別の方法コード/***マルチバイト文字列符号化変換関数*@param string str符号化変換が必要な文字列*@param string to_encoding指定は、gb 2312、gbk、utf-8などの*@param mixed from_EncodingブレンドJIS,eucjp-win,sjis-winブレンドエンコード*@return string string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] ) **/mb_convert_Encoding関数はphp内部のマルチバイト文字列符号化変換関数であり,必要に応じてすべての符号化をほぼサポートすることができる.PHP >= 4.0.バージョン6、5でサポートされています.
regを直接取得する.php?gh=某某;
//組合登録
$gonghui = $_GET['gh'];
得られた$gonghuiはgb 2312符号化のためにutf-8ページに出力され、文字化けして表示される
に改心
//組合登録パラメータ$gonghui=$GET['gh']; $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");
正常であることを示します
ページ全体を変換
この方法はすべての符号化環境に適用される.このように上位128文字以外(表示文字)の文字セットをNCR(Numeric character reference、例えば「漢字」が「漢字」に変換される形式)で表すと、このような符号化は任意の符号化環境下でページが正常に表示される.
phpファイルのヘッダに次の3行のコードを追加します.
 
  
mb_internal_encoding("gb2312"); // gb2312  
mb_http_output("HTML-ENTITIES"); 
ob_start('mb_output_handler'); 

mb_の使用convert_Encoding関数はPHPのmbstring(multi-byte string)拡張を有効にする必要があります.
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 base 64_encode
aaa '; ?>
別のページではbase 64_を使用します.decode解離
base64_decode($region);
//方法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_collate=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 ~]#