Maison >développement back-end >Problème PHP >Comment convertir une chaîne en utf8 en php

Comment convertir une chaîne en utf8 en php

藏色散人
藏色散人original
2021-05-11 09:29:192715parcourir

Comment convertir une chaîne en utf8 en php : créez d'abord un exemple de fichier PHP ; puis utilisez directement "iconv('GB2312', 'UTF-8', $str);" chaîne de Il suffit de convertir GB2312 en UTF8.

Comment convertir une chaîne en utf8 en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

PHP convertit les chaînes de GBK en UTF8 via Jeu de caractères iconv

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. Sans le paramètre ignore, toutes les chaînes qui suivent ceci. le personnage ne peut pas être enregistré.

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;); //得到设定编码的字符串长度 
?>

Exemple 2 :

Si votre fichier PHP est UTF- 8 encodé, alors 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; 
?>

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


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; 
?>

Dans le cas ci-dessus, la sortie du programme est :

%E6%88%91%E7%88%B1%E7%99% BE%E5%BA %A6

Apprentissage recommandé : "

Tutoriel vidéo PHP"

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!

Déclaration:
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