Nejprve máte kódování DB. Pak máte kódování používané klientem ODBC.
Pokud se kódování vašeho připojení klienta ODBC neshoduje s kódováním v databázi, vrstva ODBC v některých případech automaticky překóduje vaše data.
Trik je zde vynutit kódování klientského připojení ODBC.
Pro nastavení "vše 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
Toto funguje perfektně s PostgreSQL + Php 5.x.The exact syntaxe a možnosti závisí na dodavateli DB.
Velmi užitečné a jasné dodatečné informace pro MySql můžete najít zde: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html
doufám, že to pomůže.