Dans la programmation PHP, il est souvent nécessaire de transmettre des caractères chinois dans les paramètres d'URL. Cependant, comme les caractères chinois occupent plus d'octets que les caractères anglais, des problèmes brouillés se produisent pendant le passage. Pour résoudre ce problème, les caractères chinois doivent être spécifiquement codés.
Le codage de l'URL peut convertir des caractères spéciaux dans l'URL en un format conforme à la spécification URL. Dans PHP, vous pouvez coder la chaîne en utilisant la fonction Urlencode () pour vous assurer que tous les caractères non alphanumériques sont remplacés par la forme% xx, où xx est la représentation hexadécimale du code ASCII des caractères.
Par exemple, pour URL codez la chaîne "chinois", vous pouvez utiliser le code suivant:
$encoded_str = urlencode('Chinois');
echo $encoded_str; // %E4%B8%AD%E6%96%87
Le code ci-dessus convertit "chinois" en "% E4% B8% AD% E6% 96% 87". Si vous avez besoin de décoder la chaîne codée, vous pouvez utiliser la fonction UrLDECODE () . Par exemple:
$decoded_str = urldecode('%E4%B8%AD%E6%96%87');
echo $decoded_str; // Chinois
De plus, la fonction http_build_query () peut convertir un tableau en paramètre URL. S'il y a plusieurs paires de valeurs de clé, vous pouvez les combiner dans une URL complète:
$data = array('name' => 'Chinois', 'age' => 18);
$query_string = http_build_query($data);
echo $query_string; // name=%E4%B8%AD%E6%96%87&age=18
Si votre application PHP utilise fréquemment des caractères chinois, vous pouvez éviter le code brouillé en modifiant le codage par défaut de PHP. Utilisez la fonction en-tête () pour définir le codage des caractères à l'en-tête du fichier PHP, par exemple:
<span class="fun">en-tête ('contenu-type: text / html; charset = utf-8');</span>
Après ce paramètre, toutes les sorties seront codées dans UTF-8, et même si les caractères chinois sont passés dans des paramètres d'URL, il n'y aura pas de code brouillé.
De plus, il est également nécessaire de s'assurer que les trois paramètres suivants dans le fichier php.ini sont configurés correctement:
default_charset = 'UTF-8'
mbstring.internal_encoding = 'UTF-8'
mbstring.http_input = 'UTF-8'
Ces paramètres sont utilisés pour définir le codage par défaut, le codage interne et le codage d'entrée HTTP respectivement. La configuration correcte peut éviter efficacement le problème des chinois brouillés.
Lors de la programmation en PHP, il est crucial de gérer les caractères chinois dans les paramètres d'URL. Grâce au codage et au décodage de l'URL, en modifiant le codage par défaut PHP et en réglant correctement le fichier php.ini, le problème du code brouillé peut être effectivement évité. En maîtrisant ces méthodes, vous pouvez vous assurer que les applications PHP peuvent gérer correctement les paramètres d'URL contenant le chinois.