Maison  >  Article  >  base de données  >  Comment résoudre les problèmes d’encodage UTF-8 avec PDO et MySQL ?

Comment résoudre les problèmes d’encodage UTF-8 avec PDO et MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 01:41:30441parcourir

How to Fix UTF-8 Encoding Issues with PDO and MySQL?

Problèmes d'encodage UTF-8 avec PDO et MySQL

Lorsqu'ils travaillent avec PDO et une base de données MySQL, les utilisateurs peuvent rencontrer des situations où UTF-8 les données codées ne sont pas correctement insérées ou récupérées, apparaissant à la place sous forme de points d'interrogation (?????????). Cela est dû aux différences dans la configuration de la base de données et les paramètres PHP.

Solution possible : définir UTF-8 via la configuration PDO

Une solution efficace consiste à définir l'UTF-8 jeu de caractères et classement lors de l'initialisation de la connexion PDO. En ajoutant le code suivant au constructeur PDO, l'encodage UTF-8 sera appliqué :

$pdo = new PDO(
    'mysql:host=hostname;dbname=defaultDbName',
    'username',
    'password',
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);

Cette approche garantit que l'UTF-8 est activé explicitement sur la connexion, quels que soient les paramètres de base de données ou PHP précédents.

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