Najpierw masz kodowanie DB. Następnie masz kodowanie używane przez klienta ODBC.
Jeśli kodowanie połączenia klienta ODBC nie jest zgodne z kodem DB, w niektórych przypadkach warstwa ODBC automatycznie transkoduje dane.
Sztuczka polega na tym, aby wymusić kodowanie połączenia klienta ODBC.
W przypadku konfiguracji „wszystkie 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
Działa to doskonale z PostgreSQL + Php 5.x.dokładne składnia i opcje zależą od dostawcy bazy danych.
Bardzo przydatne i przejrzyste dodatkowe informacje dotyczące MySql można znaleźć tutaj: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html
mam nadzieję, że to pomoże.