MySQL ODBC 连接器和 unixODBC 问题 - 乱码连接

MySQL ODBC 连接器和 unixODBC 问题 - 乱码连接

在新服务器安装中尝试隔离问题花费了大量时间:

我已经安装了 MySQL、unixODBC 和 MySQL Connector for ODBC,并像在其他 32 位系统上一样设置了 odbc.ini 和 odbcinst.ini,但在查询后,应用程序(PHP 除外)收到乱码数据时出现问题。

为了控制目的,以下是 MySQL 直接查询返回的内容:

mysql> 从用户限制 3 中选择 id、用户名;
+------+----------+
| ID | 用户名|
+------+----------+
| 786 | 101010 |
| 587 | 1234 |
| 1124 | 123456 |
+------+----------+
共 3 行 (0.00 秒)

mysql>


通过 ODBC 在 isql 中运行相同的命令会返回以下乱码结果,仅返回第一部分数据:

SQL> 从用户限制 3 中选择 id、用户名;
+-----------+---------------------------------+
| ID | 用户名|
+-----------+---------------------------------+
| 786 |
|
|
+-----------+---------------------------------+
SQLRowCount 返回 3
已获取 3 行
SQL>


我的应用程序(如 isql)无法返回多条数据。奇怪的是,PHP 脚本似乎运行良好,但不幸的是我的应用程序不是基于 PHP 的。以下是格式化的 PHP 输出:

ID:786 用户名:1​​01010
ID:587 用户名:1​​234
ID:1124 用户名:1​​23456


odbc配置文件

[站点数据库]
描述 = MySQL ODBC 站点数据库
驱动程序 = MySQL
用户 = root
密码 = 密码
数据库 = 测试
选项 = 3
套接字 = /var/lib/mysql/mysql.sock


odbcinst.ini

[MySQL]
驱动程序 = /usr/lib64/libmyodbc3.so
使用次数 = 1


系统信息:

操作系统:CentOs 5.7 x86_64
MySQL:服务器版本:5.5.20-log MySQL 社区服务器 (GPL) by Remi x86_64
MySQL 连接器:v3.51.30-0 x86_64
unixODBC:2.2.11 x86_64

如果有人能就如何解决这个问题提出一些建议,我将不胜感激。

答案1

使用 MySQL 的 RPM 是错误的做法。我找到了一个可以顺利运行的 EL5 RPM,不知道 YUM 存储库中没有显示什么……但现在一切都很好。

相关内容