Maison > Article > développement back-end > Que dois-je faire si des caractères chinois tronqués sont transmis dans la barre d'adresse URL php ?
Solutions aux caractères chinois tronqués transmis dans la barre d'adresse url php : 1. méthode urlencode, le code est [string urlencode(string str)] 2. méthode urldecode, le code est [string urldecode(string str) ; ].
Solution aux caractères chinois tronqués dans la barre d'adresse php :
$_GET chinois dans la barre d'adresse php est tronquée, Explication détaillée de l'utilisation de urlencode et urldecode
url encodage
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 : Chaîne
Type de fonction : Traitement d'encodage
Par exemple :
Traiter et afficher le texte chinois précédemment passé
Le code est le suivant :
<?php$DecodeStr=urldecode($_GET['name']); //你可能不用解码都可以,因为浏览器会自动帮你解码echo $DecodeStr;?> 关于php用get方法从url上获得的中文乱码问题使用 $gonghui = iconv("gb2312","UTF-8",$gonghui); 另一方法代码 /*** 多字节字符串编码转换函数 ** @param string str 需要进行编码转换的字符串 * @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等 * @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码 * @return stringstring mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] ) **/
mb_convert_encoding
La fonction est la fonction de conversion d'encodage de chaîne multi-octets interne de PHP, qui peut être trouvée dans Lorsque cela est nécessaire, presque tous les encodages sont pris en charge :
obtient directement reg.php?gh=something
//工会登入参 $gonghui = $_GET['gh'];obtient
et le produit en codage utf dans gb2312 8. Remplacez les caractères tronqués $gonghui
//工会登入参数 $gonghui = $_GET['gh']; $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");et cela apparaîtra normal Convertissez l'intégralité. page. Cette méthode est applicable à tous les environnements de codage. Les jeux de caractères autres que les 128 premiers caractères (caractères d'affichage) sont représentés par NCR (la référence de caractère numérique, telle que "caractères chinois" sera convertie en "chinois". caractères"). Cet encodage permet d'afficher la page normalement 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
nécessite l'activation de l'extension mbstring (chaîne multi-octets) de PHP. mb_convert_encoding
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.
Recommandations d'apprentissage associées :
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!