【发布时间】:2014-04-23 08:23:03
【问题描述】:
我的 C++/Win32/Unicode 程序使用 ADO/MSDASQL/MyODBC 链将数据写入 MySQL。
问题是字符串在到达 MySQL 之前被转换为 latin1,它需要 UTF8。因此,重音字符被视为无效字符而被拒绝。
我的程序将 OLE 字符串(UFT16 编码)传递给 ADO,但 MyODBC(MySQL ODBC 驱动程序)以某种方式接收到 latin1 字符串(我从源代码重新编译了 MyODBC,以通过 SqlBindParameter ODBC 函数检查驱动程序中的内容) .
我已经尝试过使用 ANSI 和 Unicode 版本的 MyODBC 5.3 驱动程序。此外,MySQL 的所有 'char%' 和 'collation%' 变量都说 'utf8'。 MyODBC 字符集配置为 utf8。
ADO 和/或 MSDASQL 怎么把我的字符串变成 latin1?
TIA。
【问题讨论】:
标签: mysql encoding utf-8 odbc ado