sql >> Base de Datos >  >> RDS >> Mysql

Problema de codificación PHP/ODBC

Primero tienes la codificación de la base de datos. Entonces tienes la codificación utilizada por el cliente ODBC.

Si la codificación de su conexión de cliente ODBC no coincide con la de la base de datos, la capa ODBC transcodificará automáticamente sus datos, en algunos casos.

El truco aquí es forzar la codificación de la conexión del cliente ODBC.

Para una configuración "todo 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

Esto funciona perfectamente con PostgreSQL + Php 5.x. El exacto la sintaxis y las opciones dependen del proveedor de la base de datos.

Puede encontrar información adicional muy útil y clara para MySql aquí: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

Espero que esto ayude.