Le $_GET chinois dans la barre d'adresse php est tronqué, et l'utilisation de urlencode et urldecode est expliquée en détail
encodage d'url
Syntaxe : string urlencode(string str);
Valeur de retour : string
Type de fonction : Traitement de l'encodage
Par exemple :
<?php $ChineseName="我的名字,是中文的哦"; $EncodeStr=urlencode($ChineseName); echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>"; ?>
décodage de l'URL
Restaurer la chaîne encodée de l'URL.
Syntaxe : string urldecode(string str);
Valeur de retour : String
Type de fonction : Traitement de l'encodage
Par exemple :
Traiter et afficher le texte chinois précédemment transmis
<?php $DecodeStr=urldecode($_GET['name']);//你可能不用解码都可以,因为浏览器会自动帮你解码 echo $DecodeStr; ?>
À propos du problème des caractères chinois tronqués obtenus à partir de l'URL en utilisant la méthode get en PHP
Utilisez $gonghui = iconv("gb2312","UTF-8",$gonghui); 🎜> /**
* Fonction de conversion d'encodage de chaîne multi-octets
*
* @param string str La chaîne qui doit être encodée et convertie
* @param string to_encoding spécifie la conversion vers un certain encodage, tel que : gb2312, gbk, utf-8, etc.
* @param Mixed from_encoding spécifie de manière mixte l'encodage de la chaîne d'origine, tel que : spécifiez l'encodage mixte JIS, eucjp-win, sjis-win en même temps
* @return string
string mb_convert_encoding ( string str, string to_encoding [, mixte from_encoding] )
**/
mb_convert_encoding est la fonction de conversion d'encodage de chaîne multi-octets interne de PHP, qui peut prendre en charge presque tous les encodages en cas de besoin. PHP >= 4.0.6, 5 versions prises en charge.
$gonghui = $_GET['gh' ];
$gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");
mb_internal_encoding("gb2312"); // 这里的gb2312是你网站原来的编码 mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');
Modifiez le fichier php.ini, supprimez le ; devant extension=php_mbstring.dll et redémarrez le serveur Web.
Ajoutez le paramètre de compilation --enable-mbstring=cn lors de la compilation de la configuration, puis compilez et installez PHP.
//Méthode 1 urldecode
$url = 'aaa.php?region='.urldecode("Province du Sichuan");
< ; a href="">aaa
$test1=base64_encode($test);
echo 'aaa '
?>
Utilisez base64_decode pour décoder une autre page
base64_decode($region);
//La méthode 3 permet au serveur de prendre en charge le chinois
[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. -8"
lc_all=
[root@dhcp ~]#
Pour plus de solutions aux caractères chinois tronqués dans la barre d'adresse de l'URL PHP, veuillez faire attention au site Web PHP chinois !