qodbc-QODBC连接oracle中文乱码

问题描述

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

qodbc-QODBC连接oracle中文乱码的相关文章

Oracle中文乱码解决办法总结

AMERICAN_AMERICA.WE8ISO8859P1,这个字符编码是西欧字符编码,对应于.Net的就是iso-8859-1字符编码,所以只需要改到系统的默认字符编码就行了. 解决方法: (1) 服务器端重新安装ORACLE 在重新安装ORACLE 时选择与原卸出数据一致的字符集(本例为US7ASCII). 加载原卸出的数据. 这种情况仅仅使用于空库和具有同一种字符集的数据. (2) 写一个函数:  代码如下 复制代码  /**//// <summary>         /// 将西欧字

oracle 中文乱码解决办法

---- 在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多.ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收 到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用.本文将就这一 问题产生的原因和解决办法进行一些探讨,供存在这方面问题的用户朋友参考. ---- 1.原因分析 ----

oracle 中文 乱码-oracle 客户端配置字符集问题

问题描述 oracle 客户端配置字符集问题 通过SQL>select userenv('language') from dual;查询到字符集是:AMERICAN _ AMERICA. ZHS16GBK通过select nls_charset_name(to_number('0354''xxxx')) from dual;查询到字符集是:ZHS16GBKoracle client客户端字符集是AMERICAN _ AMERICA. ZHS16GBK.为什么在数据库中插入insert into

oracle中文乱码的解决方法_oracle

解决办法:修改oracle用户的环境变量 文件.加入NLS_LANG="SIMPLIFIED CHINESE_CHINA.al32utf8"; export NLS_LANG 复制代码 代码如下: [oracle@rhel6r4 ~]$ vi .bash_profile # .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environme

oracle中文乱码解决的办法_oracle

服务器为windows server 2003,正常安装完oracle客户端后,插入数据时,发现中文都是?. 异常: PLL/SQL中输入select userenv('LANGUAGE') From Dual,结果为AMERICAN_AMERICA.US7ASCII, 注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home]下的NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK. 解决方法:

oracle中文乱码-oracle10g查询条件为中文查不出来怎么办

问题描述 oracle10g查询条件为中文查不出来怎么办 本人明天毕业党,上课没好好听,,现在不会了,,0.0. 解决方案 sqlserver- 查询条件是中文查不出来sqlserver- 查询条件是中文查不出来 解决方案二: http://www.soso.io/article/70459.html

C# 连接 Mysql 中文乱码问题解决方法

方法一 打开mysql教程安装目录的my.ini,分别在[client]和[mysqld]中都加入default-character-set= gb2312 新建表的时候,要把character set 和collation分别选择为gb2312和gb2312_chinese_ci 方法二 使用mysql_query(mysql *mysql, const char *stmt_str) 来设置每个查询语句的字符编码: mysql_query(&mysql, "set names gbk

mysql5 插入中文乱码问题

latin1即是iso8859-1, 所以在插入之前需要将内容转换为iso8859-1, 如下:  代码如下 复制代码 Encoding iso88591 = Encoding.GetEncoding("iso8859-1"); Encoding df = Encoding.Default;   byte[] gb2312bytes = df.GetBytes(content);  //byte[] asciiBytes = Encoding.Convert(df, iso88591,

MFC连接MySQL数据库时编辑框出现中文乱码

环境:Visual Studio 2010 + MySQL Server 5.1 + Navicat for Mysql 8.2 问题:MFC连接MySQL 数据库,编辑框出现中文乱码. 解决: 使用MySQL C API,在连接上数据库查询数据前加上 如下代码: mysql_query(&m_sqlCon,"SET NAMES 'GB2312'"); //m_sqlCon是MYSQL类型 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www