PHP utilise iconv pour convertir la chaîne de GBK en UTF8 jeu de caractères . Les amis qui en ont besoin peuvent s'y référer.
1. Introduction à iconv()
La fonction iconv peut convertir un fichier de jeu de caractères connu en un autre fichier de jeu de caractères connu. Par exemple : convertissez de GB2312 en UTF-8.
La fonction iconv est construite en php5 et le jeu de caractères GB est activé par défaut.
2. Erreur iconv()
iconv fera une erreur lors de la conversion du caractère "-" en gb2312 La solution est d'ajouter "//IGNORE" après l'encodage qui doit être converti, qui est le deuxième. paramètre de la fonction iconv. Après. Comme suit :
Le code est le suivant :
iconv("UTF-8", "GB2312//IGNORE", $data)
ignorer signifie ignorer les erreurs lors de la conversion. toutes les chaînes suivant ce caractère ne peuvent pas être enregistrées.
3. Exemple iconv()
Exemple 1 :
Le code est le suivant :
<?php echo $str= ‘你好,这里是卖咖啡!'; echo '<br />'; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 echo '<br />'; echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节 print_r(iconv_get_encoding()); //得到当前页面编码信息 echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度 ?>
Exemple 2 :
Si votre fichier PHP est Encodage UTF-8, le code suivant peut être généré correctement :
Le code est le suivant :
<?php $str='我爱百度'; $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
Si votre fichier PHP est en Go, alors le code suivant peut travail :
Le code est le suivant :
<?php $str='我爱百度'; $str=iconv("GBK", "UTF-8", $str); $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
Dans le cas ci-dessus, la sortie du programme est :
%E6%88%91%E7%88% B1%E7%99 %BE%E5%BA%A6
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!