Maison >base de données >tutoriel mysql >Dois-je utiliser « SET NAMES UTF8 » pour la prise en charge Unicode dans MySQL ?
SET NAMES UTF8 devrait-il être utilisé pour le support Unicode ?
Dans le livre estimé "High performance MySQL", l'auteur Baron Schwartz met en garde contre l'utilisation "SET NAMES UTF8" car il modifie incorrectement les paramètres du serveur au lieu de modifier le jeu de caractères de la bibliothèque client. Cela a semé la confusion parmi les développeurs qui se sont appuyés sur cette syntaxe pour la prise en charge d'Unicode.
Bonnes pratiques pour un flux de travail compatible Unicode
Pour garantir un flux de travail de base de données compatible Unicode, tenez compte des bonnes pratiques suivantes :
1. Utilisez mysql_set_charset() / mysqli_set_charset() pour PHP :
Ces fonctions définissent directement le jeu de caractères pour la connexion client, en contournant les limitations de "SET NAMES UTF8."
2. Spécifier les paramètres de connexion pour PDO :
PDO::mysql prend en charge un paramètre "charset" pour spécifier le jeu de caractères lors de l'initialisation de la connexion.
3. Définir les variables du serveur MySQL :
Pour des performances optimales, définissez les variables de serveur suivantes dans la configuration my.ini/cnf :
character_set_client = utf8 character_set_results = utf8 character_set_connection = utf8
4. Attention concernant plusieurs applications :
Sachez que la modification de ces variables de serveur peut affecter d'autres applications exécutées sur la même instance MySQL et nécessitant un jeu de caractères différent.
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!