最近在做一个linux下的系统,基于移植性的考虑(该系统数据库可能采用mysql,oracle,db),连接数据库采用ODBC的方式进行连接。
测试库:mysql
在用ODBC取数据时 碰到乱码问题。
通过网上查找解决方法,网上的解决方法都是基于linux图形界面的解决方法,而我的linux系统没有图形界面,而采用网上的方法也不能解决。
经过思考,发现问题可能由ODBC数据源采用的字符集和数据库采用的字符集不同而引起。
通过试验,确实是由于ODBC数据源的字符集和数据库字符集不同引起的。
解决方法如下:
在数据源配置文件odbc.ini中,在数据源配置的地方加一条如下语句:
CHARSET = UTF8
这里的UTF8是数据库的字符集一样,详细配置见图:
测试库:mysql
在用ODBC取数据时 碰到乱码问题。
通过网上查找解决方法,网上的解决方法都是基于linux图形界面的解决方法,而我的linux系统没有图形界面,而采用网上的方法也不能解决。
经过思考,发现问题可能由ODBC数据源采用的字符集和数据库采用的字符集不同而引起。
通过试验,确实是由于ODBC数据源的字符集和数据库字符集不同引起的。
解决方法如下:
在数据源配置文件odbc.ini中,在数据源配置的地方加一条如下语句:
CHARSET = UTF8
这里的UTF8是数据库的字符集一样,详细配置见图:
本文介绍了一种在无图形界面的Linux系统下解决ODBC连接数据库时出现的乱码问题的方法。通过设置数据源配置文件odbc.ini中的CHARSET参数为数据库相同的字符集(如UTF8),可以确保ODBC数据源与数据库字符集一致,从而避免乱码。
1826

被折叠的 条评论
为什么被折叠?



