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