Table des matières
Utilisation de mb_convert_encoding()
Détection de l'encodage actuel
Cas d'utilisation courants
Alternative : iconv()
Maison développement back-end tutoriel php Comment convertir une chaîne d'un encodage de caractères à un autre en PHP

Comment convertir une chaîne d'un encodage de caractères à un autre en PHP

Oct 09, 2025 am 03:45 AM
php Encodage de caractère Conversion

Utilisez la fonction mb_convert_encoding() pour convertir des chaînes entre différents encodages de caractères. Assurez-vous que l'extension Multibyte String de PHP est activée. 1. Le format de cette fonction est mb_convert_encoding (chaîne, encodage cible, encodage source), comme la conversion d'ISO-8859-1 en UTF-8 ; 2. Il peut être combiné avec mb_detect_encoding() pour détecter l'encodage source, mais le résultat peut ne pas être précis ; 3. Il est souvent utilisé pour convertir les anciennes données de codage en UTF-8 afin de s'adapter aux applications modernes ; 4. L'alternative iconv() prend en charge les options //TRANSLIT et //IGNORE, mais la cohérence multiplateforme est médiocre ; 5. Il est recommandé d'utiliser d'abord mb_convert_encoding() et de confirmer que l'extension mbstring est disponible.

Comment convertir une chaîne d'un encodage de caractères à un autre en PHP

La conversion d'une chaîne d'un encodage de caractères à un autre en PHP se fait généralement à l'aide de la fonction mb_convert_encoding() . Cette fonction fait partie de l'extension Multibyte String de PHP, qui doit être activée dans votre installation PHP.

Utilisation de mb_convert_encoding()

Il s'agit du moyen le plus fiable de convertir les encodages de caractères lorsque vous connaissez les encodages actuels et cibles.

mb_convert_encoding(string $str, string $to_encoding, mixte $from_encoding = null) : chaîne

Exemple : Convertir une chaîne ISO-8859-1 (Latin-1) en UTF-8

$isoString = "Café";
$utf8String = mb_convert_encoding($isoString, 'UTF-8', 'ISO-8859-1');
echo $utf8String; // Sorties : Café en UTF-8

Si l'encodage source n'est pas spécifié, PHP essaiera de le détecter, mais il est préférable de le spécifier explicitement pour plus de précision.

Détection de l'encodage actuel

Avant la conversion, vous devrez peut-être détecter l'encodage actuel d'une chaîne :

$encoding = mb_detect_encoding($str, 'UTF-8, ISO-8859-1, ASCII', true);
si ($encodage) {
$converti = mb_convert_encoding($str, 'UTF-8', $encoding);
}

Remarque : mb_detect_encoding() n'est pas précis à 100 %, en particulier avec des chaînes courtes ou ambiguës. Validez toujours la saisie lorsque cela est possible.

Cas d'utilisation courants

  • Convertissez les données existantes (par exemple, ISO-8859-1 ou Windows-1252) en UTF-8 pour les applications Web modernes
  • Préparer le texte à stocker dans une base de données UTF-8
  • Gérer les fichiers téléchargés par les utilisateurs avec un encodage inconnu

Les encodages pris en charge incluent : UTF-8, UTF-16, ISO-8859-1, ASCII, EUC-JP, Shift_JIS et bien d'autres — consultez mb_list_encodings() pour la liste complète.

Alternative : iconv()

PHP fournit également la fonction iconv() , qui peut être utilisée pour encoder la conversion :

$converti = iconv('ISO-8859-1', 'UTF-8//TRANSLIT', $str);

L'option //TRANSLIT permet la translittération, en remplaçant les caractères non pris en charge par des caractères similaires. Utilisez //IGNORE pour ignorer les caractères non valides.

iconv() est parfois plus rapide mais moins cohérent sur toutes les plateformes que mb_convert_encoding() .

Utilisez essentiellement mb_convert_encoding() sauf si vous avez des besoins spécifiques. Assurez-vous que l'extension mbstring est disponible, car elle est essentielle à une bonne gestion multi-octets.

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment implémenter un modèle singleton en PHP? Comment implémenter un modèle singleton en PHP? Sep 25, 2025 am 12:27 AM

Le modèle Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global pour les scénarios où un seul objet coordonne le fonctionnement du système, tels que les connexions de base de données ou la gestion de la configuration. 2. Sa structure de base comprend: les instances de stockage d'attribut statiques privées, les constructeurs privés empêchent la création externe, les méthodes de clonage privé empêchent la copie et les méthodes statiques publiques (telles que getInstance ()) pour obtenir des instances. 3. Obtenez une instance unique dans PHP en appelant la méthode GetInstance () et renvoie la même référence d'objet, peu importe le nombre de fois où il est appelé. 4. Selon le modèle de demande PHP standard, la sécurité des threads n'est pas nécessaire pour être prise en compte, mais les problèmes de synchronisation doivent être prêts à prêter attention dans des environnements à long terme ou multi-thread, et PHP lui-même ne prend pas en charge le mécanisme de verrouillage natif. 5. Bien que les singletons soient utiles,

Comment utiliser l'opérateur de fusion nul (??) en PHP? Comment utiliser l'opérateur de fusion nul (??) en PHP? Sep 25, 2025 am 01:28 AM

Réponse: L'opérateur de fusion vide de PHP (??) est utilisé pour vérifier si une variable ou une clé de tableau existe et n'est pas nul. S'il est vrai, il renvoie sa valeur, sinon il renvoie la valeur par défaut. Il évite l'utilisation de longs chèques ISSet (), convient pour gérer les variables et les clés de tableau non définies, telles que $ username = $ userInput ?? 'invité, et prend en charge les appels de chaîne, tels que $ thème = $ usertheme?

Comment implémenter une interface dans une classe PHP? Comment implémenter une interface dans une classe PHP? Sep 25, 2025 am 05:34 AM

Utilisez le mot-clé Implementation pour implémenter l'interface et la classe doit fournir des implémentations spécifiques de toutes les méthodes dans l'interface. 2. Définissez l'interface pour déclarer la méthode à l'aide du mot-clé d'interface. 3. La classe implémente l'interface et remplace les méthodes. 4. Créez un objet et appelez la méthode pour sortir le résultat. 5. Une classe peut implémenter plusieurs interfaces pour assurer la spécification du code et la maintenabilité.

Comment désinfecter la saisie des utilisateurs pour empêcher les XS dans PHP? Comment désinfecter la saisie des utilisateurs pour empêcher les XS dans PHP? Sep 25, 2025 am 05:19 AM

TopreventXssInPhp, SanitizeUserInputAscapeOutputBasedOnContextuSingHtmlSpecialCars () forhtml, json_encode () forjavascrip

Comment utiliser les méthodes Get et Poster sous une forme HTML avec PHP? Comment utiliser les méthodes Get et Poster sous une forme HTML avec PHP? Sep 25, 2025 am 03:46 AM

La méthode GET attache des données à l'URL, qui convient aux informations non sensibles; La méthode Post envoie des données via le corps de la demande, qui est plus sécurisé et adapté aux informations sensibles.

MBTI Test gratuit du site Web Entrance_ Test de personnalité MBTI Adresse du lien gratuit MBTI Test gratuit du site Web Entrance_ Test de personnalité MBTI Adresse du lien gratuit Sep 24, 2025 pm 05:00 PM

L'entrée du site Web de test gratuit MBTI est https://www.16personalités.com/ch. La plate-forme fournit une interface chinoise. Les utilisateurs peuvent effectuer des tests de manière anonyme contenant des versions de base et complètes. Ils répondent à des questions à choix multiples sur 72 questions en environ 15 à 20 minutes. Le système génère instantanément un rapport personnalisé couvrant le code de type de personnalité, l'analyse de la personnalité et les suggestions sociales de carrière, et soutient l'exportation PDF, ainsi que le chiffrement et le traitement des données sans rétention.

Comment trouver l'intersection de deux tableaux en PHP? Comment trouver l'intersection de deux tableaux en PHP? Sep 26, 2025 am 06:23 AM

Utilisez la fonction Array_INTERSECT () pour trouver l'intersection de deux tableaux, qui renvoie des éléments qui existent dans chaque tableau en même temps, et les noms de clés sont conservés du premier tableau. Par exemple: $ arr1 = ['Apple', 'Banana', 'Orange']; $ arr2 = ['banana', 'kiwi', 'Apple']; Le résultat est [«pomme», «banane»].

Comment définir un fuseau horaire par défaut dans PHP? Comment définir un fuseau horaire par défaut dans PHP? Sep 26, 2025 am 06:22 AM

SetTheDefaultTimezoneInphpusingDate_Default_timezone_Set ('America / New_york'); WithavalidIdentifierLiLiNutCoreurope / LondontoensureConsistentDate / TimeHandlingAcrossFunctions et les environnements.

See all articles