Maison >développement back-end >Problème PHP >Comment changer l'encodage d'une chaîne en php

Comment changer l'encodage d'une chaîne en php

藏色散人
藏色散人original
2021-07-22 10:03:263313parcourir

Comment changer l'encodage de la chaîne en PHP : 1. Modifiez l'encodage de la chaîne avec la fonction générale iconv ; 2. Modifiez l'encodage de la chaîne via mb_convert_encoding.

Comment changer l'encodage d'une chaîne en php

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

Comment changer l'encodage de chaîne en php ?

Conversion d'encodage de chaîne php

php fournit deux fonctions d'encodage de conversion de mots, l'une est la fonction générale iconv, l'autre est la fonction de conversion d'encodage multi-octets mb_convert_encoding, l'extension php_mbstring doit être activée

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )

Description : Convertir l'encodage des caractères (PHP 4 >= 4.0.6, PHP 5)

Vous devez d'abord activer la bibliothèque d'extension mbstring et supprimer le ; devant extension=php_mbstring.dll dans php.ini

string iconv ( string in_charset, string out_charset, string str )

Description : Convertir la chaîne en encodage de caractères demandé (PHP 4 >= 4.0.5, PHP 5)

Remarque :

Le deuxième paramètre, en plus de spécifier l'encodage vers lequel convertir, peut également ajouter deux suffixes : //TRANSLIT et //IGNORE,

Parmi eux :

TRANSLIT convertira automatiquement les caractères qui ne peuvent pas être directement convertis en un ou plusieurs caractères approximatifs,

IGNORE ignorera les caractères qui ne peuvent pas être convertis, et l'effet par défaut est de tronquer à partir du premier caractère illégal personnage.

Utilisation :

1. On constate qu'iconv fera une erreur lors de la conversion du caractère "-" en gb2312. Sans le paramètre ignore, toutes les chaînes suivant ce caractère ne peuvent pas être enregistrées. Quoi qu'il en soit, ce "-" ne peut pas être converti avec succès et ne peut pas être affiché. De plus, mb_convert_encoding n'a pas ce bug.

2. mb_convert_encoding peut spécifier plusieurs encodages d'entrée, et il l'identifiera automatiquement en fonction du contenu, mais l'efficacité d'exécution est bien pire que iconv comme : $str = mb_convert_encoding( $str,"euc-jp", "ASCII,JIS,EUC-JP,SJIS,UTF-8"); L'effet de "ASCII,JIS,EUC-JP,SJIS,UTF-8" est différent selon la commande.

3. Généralement, iconv est utilisé uniquement lorsque vous utilisez la fonction mb_convert_encoding lorsque vous ne parvenez pas à déterminer quel est l'encodage d'origine ou que la conversion iconv ne peut pas être affichée normalement. 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