Maison > Article > développement back-end > Comment convertir php en encodage
Comment implémenter l'encodage de conversion PHP : 1. Utilisez la fonction iconv pour convertir l'encodage cible, avec une syntaxe telle que "iconv('GBK','UTF-8′,$instr);" 2. Convertissez l'encodage via la fonction mb_convert_encoding .
Recommandé : "Tutoriel vidéo PHP"
Lorsque nous utilisons PHP pour traiter des chaînes, nous rencontrons souvent le problème de conversion d'encodage de caractères, avez-vous déjà rencontré un échec de conversion iconv ?
Quand j'ai découvert le problème, j'ai effectué une recherche en ligne et j'ai découvert qu'iconv avait un bug. Il ne serait pas capable de convertir certains mots rares. Bien sûr, lors de la configuration du deuxième paramètre, vous pouvez compenser la valeur par défaut. défauts un peu, afin de ne pas causer de problèmes. Impossible de convertir signifie troncature, l'utilisation est la suivante
iconv(“UTF-8″,”GB2312//IGNORE”,$data) ;
De cette façon, lorsque la conversion de mots rares échoue, il ignorera l'échec et continuera à convertir. le contenu suivant. C'est une façon de résoudre le problème, mais afin d'assurer le taux de réussite de la conversion, nous pouvons utiliser une autre fonction de conversion (mb_convert_encoding). D'après les informations en ligne, cette fonction n'est pas très efficace. cette fonction peut également omettre le troisième paramètre et identifier automatiquement l'encodage du contenu. Cependant, il est préférable de ne pas l'utiliser, car cela affecte l'efficacité et également. Il convient de noter que l'ordre des paramètres mb_convert_encoding et iconv est différent, alors assurez-vous de le faire. Faites attention.
Ci-joint deux fonctions simples à utiliser :
iconv
string iconv ( string $in_charset , string $out_charset , string $str )
Le premier paramètre : l'encodage du contenu original
Non. Deux paramètres : Encodage cible
Troisième paramètre : La chaîne à convertir
La fonction renvoie la chaîne
<?php $instr = ‘测试’; // GBK转UTF-8 $outstr = iconv(‘GBK’,'UTF-8′,$instr); ?>
mb_convert_encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
Le premier paramètre : la chaîne à traiter
Le deuxième paramètre : l'encodage cible
Le troisième paramètre : l'encodage original du contenu
<?php $instr = '测试'; // GBK转UTF-8 $outstr = mb_convert_encoding($instr,'UTF-8','GBK',); ?>
Suggestion personnelle Lorsqu'il s'agit de problèmes de transcodage, il est plus sûr d'utiliser mb_convert_encoding.
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!