Maison > développement back-end > tutoriel php > méthode php pour convertir une chaîne de caractères GBK en jeu de caractères UTF8 via iconv

méthode php pour convertir une chaîne de caractères GBK en jeu de caractères UTF8 via iconv

怪我咯
Libérer: 2023-03-13 07:18:01
original
3172 Les gens l'ont consulté

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)
Copier après la connexion

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= ‘你好,这里是卖咖啡!&#39;; 
  echo &#39;<br />&#39;; 
  echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8 
  echo &#39;<br />&#39;; 
  echo iconv_substr($str, 1, 1, &#39;UTF-8&#39;); //按字符个数截取而非字节 
  print_r(iconv_get_encoding()); //得到当前页面编码信息 
  echo iconv_strlen($str, &#39;UTF-8&#39;); //得到设定编码的字符串长度 
?>
Copier après la connexion

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=&#39;我爱百度&#39;; 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>
Copier après la connexion

Si votre fichier PHP est en Go, alors le code suivant peut travail :

Le code est le suivant :

<?php 
  $str=&#39;我爱百度&#39;; 
  $str=iconv("GBK", "UTF-8", $str); 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal