Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème d'encodage PHP/ODBC

Vous avez d'abord l'encodage de la DB. Ensuite, vous avez l'encodage utilisé par le client ODBC.

Si l'encodage de votre connexion client ODBC ne correspond pas à celui de la BD, la couche ODBC transcodera automatiquement vos données, dans certains cas.

L'astuce ici est de forcer l'encodage de la connexion client ODBC.

Pour une configuration "tout UTF-8" :

$conn=odbc_connect(DB_DSN,DB_USR,DB_PWD);
odbc_exec($conn, "SET NAMES 'UTF8'");
odbc_exec($conn, "SET client_encoding='UTF-8'");

// processing here

Cela fonctionne parfaitement avec PostgreSQL + Php 5.x.Le exact la syntaxe et les options dépendent du fournisseur de la base de données.

Vous pouvez trouver des informations supplémentaires très utiles et claires pour MySql ici : http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

J'espère que cela vous aidera.