Maison >développement back-end >Problème PHP >Pourquoi les paramètres passés en php sont-ils tronqués ?

Pourquoi les paramètres passés en php sont-ils tronqués ?

藏色散人
藏色散人original
2021-12-22 10:23:142013parcourir

La raison pour laquelle les paramètres php sont tronqués est que l'encodage est incohérent. La solution est de le modifier pour utiliser l'encodage uft-8. Le code de modification est tel que "mb_detect_encoding($typeName,'CP936,UTF-8')". .

Pourquoi les paramètres passés en php sont-ils tronqués ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.

Pourquoi les paramètres PHP sont-ils tronqués ?

Paramètre php solution tronqué

Lorsque le projet de site Web utilise gb2312 comme encodage du projet, étant donné que différents navigateurs peuvent encoder les caractères chinois différemment, certains encoderont le chinois comme encodage du site Web, d'autres encoderont Chinois en utf-8, et des erreurs tronquées se produiront lors de la réception des paramètres en arrière-plan. Une meilleure solution consiste à identifier les caractères chinois dans les paramètres et à les convertir s'ils ne sont pas gb2312.

$typeName = $_GET['typeName'];
$encode =  mb_detect_encoding($typeName,'CP936,UTF-8') ;
//如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码
if ($encode =='UTF-8') {
    //再调用转换成utf-8编码的函数,最终确保是utf-8
    $typeName = iconv("utf-8","gb2312",$typeName);
}

Pour les problèmes de codage de sites Web et les extensions futures, il est recommandé d'utiliser l'encodage uft-8

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn