2010-04-18 5 views
1

Dans un script PHP très occupé, nous appelons au début "Set names utf8" qui définit le jeu de caractères dans lequel mysql doit interpréter et renvoyer les données du serveur au client.Mysql SET NAMES UTF8 - comment se débarrasser de?

http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html

Je veux vous en débarrasser si je paramètre par défaut défini-character-set = UTF8 Dans notre fichier ini du serveur. (Voir le lien ci-dessus)

Le paramètre semble fonctionner puisque les paramètres du serveur concernés sont les suivants: 'character_set_client', 'utf8' 'character_set_connection', 'utf8' 'character_set_database', 'latin1' 'character_set_filesystem' 'binary' 'character_set_results', 'utf8' 'character_set_server', 'latin1' 'character_set_system', 'utf8' Mais après ce changement et de commenter les noms de set utf8 appellent toujours les données commencent à sortir brouillé.

S'il vous plaît conseiller ....

Répondre

1

Réglage du codage de la connexion entre PHP et MySQL est le travail de PHP; Je ne pense pas que le paramètre MySQL affectera cela.

Je recommande vraiment de garder du code dans l'application pour définir le jeu de caractères de connexion à UTF-8. L'application doit s'assurer que l'encodage est UTF-8, car elle indiquera vraisemblablement aux navigateurs web que ses pages sont en UTF-8, et si celles-ci ne correspondent pas, vous avez des problèmes. Comme il est déjà de la responsabilité de l'application de décider du charset, vous pouvez aussi faire en sorte que l'application spécifie le jeu de caractères de la base de données plutôt que de le laisser comme problème de déploiement et encore une fois installer l'application sur un nouveau serveur.

Cependant, je voudrais personnellement utiliser mysql_set_charset pour ce faire plutôt que SET NAMES. De même, si l'application a du code pour créer le schéma, assurez-vous que le code indique à MySQL de créer les tables UTF-8, plutôt que de laisser les paramètres par défaut de la base de données sur.

0

skip-character-set-client-poignée de main

mais je ne pense pas que l'option Définir requête de noms est trop emploi. Vous avez votre problème de nulle part. Et va limiter la fonctionnalité de votre base de données

Questions connexes