问题描述
- QODBC连接oracle中文乱码
- 首先简单说一下环境:XP+Qt4.8+oracle10g
现象:
1、程序A利用QSqlDatabase借助于QODBC连接到oracle数据库(利用Microsoft ODBC driver for oracle和oracle自带的驱动均一样的效果),连接及查询均正常,但是返回值中存在中文时,所有中文均显示为“?”。
借助于A程序实现入库的时候,入库成功。但是数据库表中中文字段显示为乱码。再用A取得刚才入库的信息时,库表中刚才插入的乱码,
取出来后可以正常显示。
2、利用本机的plsql和sqlplus登陆,查询中文均正常显示。
3、利用VC++6.0+ODBC来访问,中文显示正常。
补充:目前oracle服务端和客户端编码均一致,且均可正常显示中文。目前估计问题可能出现在QODBC的驱动上,恳请各位大神指点!
解决方案
连接字符串,数据库驱动配置中Ruhr处理中文的,配置字符集没
解决方案二:
需要配置字符编码,通常这类问题都是这样的,都设置为UTF-8
解决方案三:
Oracle 中文乱码
oracle 中文乱码
解决方案四:
最后是通过编译QOCI来实现的,谢谢以上各位的解答!
时间: 2025-01-21 07:34:03