Maison > Article > développement back-end > Comment convertir une chaîne au format utf8 en php
Méthode : 1. Utilisez la fonction iconv, la syntaxe "iconv(type de caractère original, 'UTF-8', string)" ; 2. Utilisez la fonction mb_convert_encoding, la syntaxe "mb_convert_encoding(string, 'UTF-8" ' , type de caractère original)".
L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3
1. Utilisez l'iconv. () fonction
peut convertir un fichier de jeu de caractères connu en un autre fichier de jeu de caractères connu. Par exemple : Convertissez de iconv
en GB2312
. iconv fera une erreur lors de la conversion du caractère "-" en "UTF-8
". La solution est d'ajouter "gb2312
" après l'encodage qui doit être converti, qui est le deuxième paramètre de la fonction iconv. Comme suit : //IGNORE
iconv("UTF-8", "GB2312//IGNORE", $data)
signifie ignorer les erreurs lors de la conversion. Sans le paramètre ignore
, toutes les chaînes suivant ce caractère ne peuvent pas être enregistrées. ignore
<?php echo $str= ‘你好,这里是卖咖啡!'; echo '<br />'; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 ?>
2. Utilisez "mb_convert_encoding" pour convertir la chaîne en jeu de caractères UTF8
Lorsque vous utilisez, vous devez d'abord connaître le codage des caractères si le. l'encodage est incorrect, vous obtiendrez des caractères tronqués, utilisez mb_convert_encoding
pour identifier automatiquement l'encodage de chaîne et le convertir en encodage standard international UTF-8. mb_detect_encoding
<?php $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1')); if($encode != 'UTF-8'){ $name = mb_convert_encoding($name, 'UTF-8', $encode); } ?>Tutoriel recommandé :
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!