Maison  >  Article  >  développement back-end  >  Comment convertir du texte php en utf8

Comment convertir du texte php en utf8

PHPz
PHPzoriginal
2023-04-24 10:48:19835parcourir

PHP est un langage de développement Web très populaire, et la plupart des sites Web sont développés et maintenus à l'aide de PHP. Cependant, des problèmes de codage surviennent de temps à autre, notamment lorsqu’il s’agit de développer des sites Web multilingues. Bien sûr, c’est aussi une bonne opportunité pour nous d’apprendre à convertir du texte en PHP en encodage UTF-8.

En PHP, les chaînes de texte sont stockées sous forme de séquences d'octets. Chaque caractère occupe 1 à 4 octets, selon le jeu de caractères utilisé. UTF-8 est un codage de caractères de longueur variable capable de représenter tous les caractères du jeu de caractères Unicode, y compris les caractères ASCII et non-ASCII.

Si votre code PHP et votre base de données sont tous deux stockés en codage UTF-8, vous n'avez pas besoin d'effectuer de conversion du texte. Mais si votre code PHP et votre base de données utilisent des formats d'encodage différents, vous devrez convertir le texte en encodage UTF-8.

En PHP, il existe plusieurs façons de convertir du texte en encodage UTF-8. Parmi elles, les fonctions iconv() et mb_convert_encoding() sont très couramment utilisées. L'utilisation de ces deux méthodes est présentée ci-dessous.

Utilisez la fonction iconv() pour la conversion de texte

La fonction iconv() est une fonction intégrée à PHP qui peut convertir les caractères d'un encodage spécifié à un autre. La syntaxe de base de la fonction iconv() est la suivante :

string iconv(string $in_charset, string $out_charset, string $string);

Parmi eux, le paramètre $in_charset représente le jeu de caractères d'entrée, le paramètre $out_charset représente le jeu de caractères de sortie et le paramètre $string représente la chaîne à convertir. .

Ce qui suit est un exemple de conversion de texte de l'encodage GB2312 en encodage UTF-8 :

$gbk_str = "你好,世界!";
$utf8_str = iconv("GB2312", "UTF-8", $gbk_str);
echo $utf8_str; // 输出: 你好,世界!

Dans l'exemple ci-dessus, la fonction iconv() convertit la chaîne de la variable $gbk_str de l'encodage GB2312 en encodage UTF-8, et stockez le résultat dans la variable $utf8_str.

Utilisez la fonction mb_convert_encoding() pour la conversion de texte

La fonction mb_convert_encoding() est une autre fonction de conversion intégrée à PHP qui peut également convertir les caractères d'un encodage spécifié à un autre. Contrairement à la fonction iconv(), la fonction mb_convert_encoding() peut gérer plusieurs jeux de caractères de codage différents en même temps. La syntaxe de base de la fonction

mb_convert_encoding() est la suivante :

string mb_convert_encoding(string $str, string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ]);

Parmi eux, le paramètre $str représente la chaîne à convertir, le paramètre $to_encoding représente le format d'encodage cible et le paramètre $from_encoding représente la source. format d'encodage. S'il est omis, il s'agit par défaut du format d'encodage interne de PHP.

Ce qui suit est un exemple de conversion de texte de l'encodage GB2312 en encodage UTF-8 :

$gbk_str = "你好,世界!";
$utf8_str = mb_convert_encoding($gbk_str, "UTF-8", "GB2312");
echo $utf8_str; // 输出: 你好,世界!

Dans l'exemple ci-dessus, la fonction mb_convert_encoding() convertit la chaîne de la variable $gbk_str de l'encodage GB2312 en encodage UTF-8, et stockez le résultat dans la variable $utf8_str.

Conclusion

Cet article présente comment convertir des chaînes de texte en codage UTF-8 en PHP, impliquant principalement deux fonctions intégrées couramment utilisées : la fonction iconv() et la fonction mb_convert_encoding(). En maîtrisant l'utilisation de ces fonctions, vous pourrez facilement résoudre les problèmes de codage PHP et assurer le fonctionnement normal des sites Web multilingues.

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