Първо имате кодирането на DB. След това имате кодирането, използвано от ODBC клиента.
Ако кодирането на вашата ODBC клиентска връзка не съвпада с това на DB, слоят ODBC автоматично ще прекодира вашите данни в някои случаи.
Номерът тук е да се принуди кодирането на ODBC клиентската връзка.
За настройка "всички 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
Това работи перфектно с PostgreSQL + Php 5.x.точно синтаксисът и опциите зависят от доставчика на DB.
Тук можете да намерите много полезна и ясна допълнителна информация за MySql: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html
надявам се това да помогне.