Đầu tiên, bạn có mã hóa của DB. Sau đó, bạn có mã hóa được sử dụng bởi máy khách ODBC.
Nếu mã hóa của kết nối máy khách ODBC của bạn không khớp với mã của một trong DB, lớp ODBC sẽ tự động chuyển mã dữ liệu của bạn, trong một số trường hợp.
Mẹo ở đây là buộc mã hóa kết nối máy khách ODBC.
Đối với thiết lập "tất cả 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
Điều này hoạt động hoàn hảo với PostgreSQL + Php 5.x. chính xác cú pháp và các tùy chọn phụ thuộc vào nhà cung cấp DB.
Bạn có thể tìm thấy thông tin bổ sung rất hữu ích và rõ ràng cho MySql tại đây: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html
hy vọng điều này sẽ hữu ích.