2010-12-12 21 views
2

comment empêcher le changement de l'encodage de la connexion par la reconnexion? Tout de mes réglages sont utf-8, mais depuis que j'ai activé cette fonction dans php.ini du cli ... j'ai tout testé ... et quand j'ai un long script de travail alors dans tout point du script la connexion est commuté et j'ai de mauvaises données. Après l'avoir désactivé à nouveau, tout va bien. Mais pourquoi c'est comme ça? Quel type de paramètres dois-je définir dans my.cfg pour empêcher cette commutation du codage de connexion?mysqli.reconnect = ON a changé le codage de connexion?

Vive Nik

Répondre

1

De l'MySQL Docs:

Si vous utilisez le client mysql avec reconnexion automatique activé (non recommandé), il est préférable d'utiliser la commande charset plutôt que SET NAMES. Par exemple:

mysql> charset utf8 
Charset changed 

Les problèmes de commandement charset une déclaration SET NAMES et modifie également le caractère par défaut défini que MySQL utilise lorsqu'il se reconnecte après que la connexion a chuté. Par conséquent, émettez ceci:

mysqli_query('charset utf8'); 

Ou quel que soit jeu de caractères que vous utilisez (si autre que UTF8). Cela devrait résoudre le problème.