sql >> Database >  >> RDS >> Mysql

PHP/ODBC-coderingsprobleem

Eerst heb je de codering van de DB. Dan heb je de codering die door de ODBC-client wordt gebruikt.

Als de codering van uw ODBC-clientverbinding niet overeenkomt met die van de DB, zal de ODBC-laag uw gegevens in sommige gevallen automatisch transcoderen.

De truc hier is om de codering van de ODBC-clientverbinding te forceren.

Voor een "all UTF-8" setup:

$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

Dit werkt perfect met PostgreSQL + Php 5.x.De exacte syntaxis en opties zijn afhankelijk van de DB-leverancier.

U kunt hier zeer nuttige en duidelijke aanvullende informatie voor MySql vinden: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

hoop dat dit helpt.



  1. Oracle SELECT TOP 10-records

  2. verkeerde telling in query

  3. Hoe maak je een back-up van RAC VM's

  4. Hoe de primaire sleutel van Django te vervangen door een ander geheel getal dat uniek is voor die tabel?