Maison >développement back-end >Problème PHP >Résumé des solutions aux caractères chinois tronqués de l'URL php
Solutions aux URL php tronquées en chinois : 1. Utilisez la fonction "urlencode" pour résoudre le problème d'encodage de l'URL. La syntaxe est "string urlencode(string str);"; fonction "urldecode".
Le $_GET chinois dans la barre d'adresse php est tronqué et l'utilisation de l'urlencode et de l'urldecode est expliquée en détail
Encodage d'url
Syntaxe : string urlencode(string str);
Valeur de retour : Chaîne
Type de fonction : Traitement d'encodage
Par exemple :
Le code est le suivant :
<?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 d'encodage
Par exemple :
Traiter et afficher le texte chinois passé devant
Le code est le suivant :
<?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); un autre code de méthode
/** * 多字节字符串编码转换函数 * * @param string str 需要进行编码转换的字符串 * @param string to_encoding 指定转换为某种编码,如:gb2312、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
fonction pour convertir php interne codage de chaîne multi-octets Les fonctions peuvent être utilisées partout où cela est nécessaire et prennent en charge presque tous les codages.
PHP >= 4.0.6, 5 versions prises en charge.
Obtenez directement reg.php?gh=XX ;
//工会登入参 $gonghui = $_GET['gh'];
Le $gonghui obtenu est codé en gb2312 et affiché sur la page Web utf-8, qui affiche des caractères tronqués
est changé en
//工会登入参数 $gonghui = $_GET['gh']; $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");
L'affichage sera normal
Convertir la page entière
Cette méthode est applicable à tous les environnements de codage. De cette façon, tous les jeux de caractères autres que les 128 premiers caractères (caractères d'affichage) sont représentés par NCR (les références de caractères numériques, telles que les « caractères chinois » seront converties en « caractères chinois »). dans n’importe quel environnement d’encodage.
Ajoutez les trois lignes de code suivantes en tête du fichier php :
Le code est le suivant :
mb_internal_encoding("gb2312"); // 这里的gb2312是你网站原来的编码 mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');
L'utilisation de la fonction mb_convert_encoding nécessite d'activer la mbstring de PHP (multi -chaîne d'octets) extension .
Si l'extension mbstring de PHP n'est pas activée, vous devez définir les paramètres suivants pour permettre à PHP de prendre en charge l'extension.
1. Environnement du serveur Windows
Modifiez le fichier php.ini, supprimez le ; devant extension=php_mbstring.dll et redémarrez le serveur Web.
2. Environnement de serveur Linux
Ajoutez le paramètre de compilation --enable-mbstring=cn lors de la compilation de la configuration, puis compilez et installez PHP.
La troisième méthode de référence d'autres internautes :
//方法一 urldecode $url = 'aaa.php?region='.urldecode("四川省"); <a href="<?php echo $url;?>">aaa </a> //方法二base64_encode <? $test="四川省"; $test1=base64_encode($test); echo '<a href="www.jb51.net?region=$test1">aaa </a>'; ?>
Une autre page utilise base64_decode pour décoder
base64_decode($region); //方法三让服务器支持中文 [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 ~]#
Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!