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的驱动上,恳请各位大神指点!

0

3个回答

连接字符串,数据库驱动配置中Ruhr处理中文的,配置字符集没

0

需要配置字符编码,通常这类问题都是这样的,都设置为UTF-8

0

最后是通过编译QOCI来实现的,谢谢以上各位的解答!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QT ODBC drivers使能unicode解决中文乱码
此驱动已将QODBCDriverPrivate类的变量unicode值改为true,并重新编译过,将其放在\Qt\Qt5.6.3\5.6.3\mingw49_32\plugins\sqldrivers文件夹覆盖,然后重新编译程序即可解决读取数据库中文乱码问题。
64位 Oracle ODBC 中文乱码
ORACLE ODBC 中文乱码
ODBC连接MySQL时中文乱码问题的解决
按照网上提供的ODBC连接数据库的相关资料编写代码,成功编译后运行发现,非中文字段显示正确,而中文字段却是每个汉字以?显示。关于这方面的错误baidu或google下可以找到很多解答方案,我也尝试过其中的一些,有些并没有成功解决,看来出现中文乱码的原因各不相同。在这里我只将我的解
linux安装配置编译QT连接ORACLE数据库驱动QOCI
1、在http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html下载所需要的oracle instant client 2、本人操作系统版本为ubuntu,所以需要执行以下步骤才可以安装 tpc-pds-2@tpcpds2-Lenovo:~/install$ sudo apt-get...
终于编译好了qt的oracle驱动QOCI,连接driver not loaded解决方法
我想你和我一样,照着
Qt连接SQLServer的QODBC驱动
解决QSqlDatabase: QODBC driver not loaded QSqlDatabase: available drivers: QSQLITE问题 解压后放到QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers 类似的路径下
oracle显示中文乱码
oracle显示中文乱码问题描述:windows下安装oralce客户端,编码为 SIMPLIFIED CHINESE_CHINA.AL32UTF8 redhat6下安装oracle 11g rac服务端,编码为 AMERICAN_AMERICA.AL32UTF8 客户端插入中文数据,服务端显示乱码,客户端显示正常 服务端插入中文数据,服务端显示乱码,客户端显示乱码分析:导致中文乱码的产生
《快速掌握PyQt5》第二十六章 数据库
第二十六章 数据库 26.1 数据库连接和关闭 26.2 SQL语句使用 26.3 使用模型和视图 26.4 小结 如果小伙伴还不了解数据库可以先去快速学习下,也可以选择先跳过本章,后续章节阅读并不会受到影响。 PyQt5提供了一些数据库驱动以方便我们来连接不同的数据库: 驱动类型 支持的数据库 QDB2 IBM...
SQL Server学习记忆——编译SQL Server驱动 QODBC(四)
前言前面铺垫了很久,今天终于要利用Qt库连接SQL Server 2008 了。但是发现Qt5.6.0不具有QODBC驱动,因此使用此驱动需要根据自己的编译器版本自行编译,博客中详细介绍了如何利用VS2013编译64位的Qt5.6的QODBC驱动,其它版本过程类似。
终于编译好了qt的oracle驱动QOCI,连接成功!!!
这么多天以来终于有件事可以小舒畅了一下了。 今天终于编译好了qt的oracle驱动QOCI,连接成功!!! Qt Commercial版只自带了SQLLite和ODBC的驱动,oracle的驱动要自己编译,折腾了许久,终于成功了。具体如下:   编译QOCI: 1st: go to Qt’s Command Prompt window. (VS 2008下) 2nd: set IN
QT操作Oracle数据库(事务、存储过程)
QT操作Oracle数据库可以使用QODBC、QOCI两种驱动,这里使用QODBC驱动。在使用QOCI驱动操作oracle时,事务不能回滚,可能是我编译的QOCI驱动有问题,但是暂时没有找到原因。 #ifndef QTTEST_H #define QTTEST_H #include <QtGui/QMainWindow> #include "ui_qttest.h" #inclu...
Oracle客户端连接远程Oracle服务中文乱码问题
Oracle客户端连接远程Oracle服务中文乱码问题   在本机远程连接远程Oracle服务的时候,写了如下检索语句 select * from sys_employee 结果集中出现了中文乱码,但是远程服务器本身的PL/SQL检索出来没有问题 解决方案: 步骤一: select * from v$nls_parameters 获取执行结果 步骤二:
SQL-SERVER-64位配置ORACLE连接-中文乱码问题
SQL-SERVER-64位配置ORACLE连接-中文乱码问题
Delphi 读写Oracle,中文出现乱码:靠靠
Delphi连接Oracle数据库时,出现中文乱码:靠靠,plsql查询出来的显示正常: with DmMain.ADOStoredProc1 do         begin           Close;           Parameters.Clear;           ProcedureName := 'pkg_SynZhongTai.sp_SaleListEnd';
JDBC连接池中文乱码解决方案
Tomcat中有介绍JDBC连接池的文档,这里我就不阐述了JDBC连接池的技术。正如我前篇博客所说的那样 出现乱码的根本原因是字符集的不统一造成的,因此只要统一字符集即可。 所以,只要保持字符集统一即可。按照我前篇博客 所用到的方法,只能解决使用DriverManager连接数据库的字符集乱码问题,连接池是无法直接解决的。这是为什么呢?因为使用连接池时,URL中不能添加多余的参数,不能设置连接数
关于C#,.net 访问oracle中文乱码问题
最近我用程序读取oracle数据库中数据时发现中文全部是乱码。于是我展开了一系列的办法最终解决了此问题。    工作环境:服务器  windows 2003+ oracle。                   服务器字符集 SIMPLIFIED CHINESE_CHINA.WE8DEC。                   编程环境 VS2005,C#,PLSQL。
oracle、odbc配置以及中文乱码解决方案
配置ODBC 如果计算机操作系统是64位在配置ODBC数据源不能使用控制面板中 “管理工具”->“数据源(OBDC)”这种方式, 而应是:在“运行” 中输入 C:\Windows\SysWOW64\odbcad32.exe  安装数据源。 选择添加    选择 Oracle in OraClient11g_home1  点击“完成”   填好数据,TNS Server N...
MyEclipse配JDBC连接oracle后中文字段出现乱码!
在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用。本文将就这一问题产生的原因和解决
Jdbc连接oracle远程数据库中文乱码解决
<property name="connectionProperties"> <!-- 链接参数配置 “clientEncoding”和“serverEncoding”,分别指定数据库客户端和服务器端的字符编码 Encoding Filter从这两个参数获取编码 --> <value>clientEncoding=GBK;serverEnc...
网站开发笔记:PHP oci连接Oracle中文乱码问题解决方案
正如一位大牛说的,最让程序员头疼的事就是文字编码问题,西方英文世界很多解决方案都是以他们为中心开发,他们没问题,拿到天朝世界,问题就来了,本问题困扰了我一段时间,php官网的oci介绍并没有关于怎么解决中文乱码问题。 解决重点是在连接Oracle时直接指定编码格式,而且特别注意是填写utf8,而不是常见的utf-8, $conn = oci_connect("C##SCOTT", "tiger
怎么解决JDBC读ORACLE的乱码问题
怎么解决JDBC读ORACLE的乱码问题 摘要: 怎么解决JDBC读ORACLE的乱码问题 ORACLE的字符集为US7ASCII,用ORACLE JDBC读的时候会有乱码,请问如何解决? 我知道可以用转码方式来解决new String(rs.getString("name").getBytes("ISO8859-1"),"GBK"); 但比较烦,有没有其他的更好的方式来解决这个问
解决 oracle中文乱码问题 (原创)
我这里说的是对于oracle服务器的问题,在服务器中文乱码的解决问题 很简单的:修改注册表的: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0÷NLS_LANG中由SIMPLIFIED CHINESE_CHINA.ZHS16GBK修为AMERICAN_AMERICA.WE8ISO8859P1   就可以了  ...
PLSQL连接远程ORACLE数据库中文乱码解决
ORACLE版本  11g PLSQL版本   9 现象 :连接远程oracle 中文乱码 解决步骤 : 1 :   查看oracle字符集 select * from nls_database_parameters where parameter='NLS_CHARACTERSET'                       2: 设置系统环境变量   变量名 NLS_LANG  
SSH 连接 Oracle 数据库的中文乱码解决方案
http://sandyxl001.blog.163.com/blog/static/166564102012729102013396/   在我的这篇博客中,有两种解决方法,一是使用 nvarchar2 类型来保存中文,二是进行手动转码。最近看到阿里巴巴也使用   了手动进行转码的方法来解决这个问题,使用了代理模式,将 oracle 的驱动包括在类里。   参考:http://ali...
PLSQL连接远程ORACLE遇到的中文乱码问题
到我的电脑、属性、高级、环境变量中添加一个环境变量: 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK 然后重新启动plsql,即可正常显示中文。 如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8,其他编码同上
python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
hibernate访问oracle乱码问题
oracle的字符集是WE8ISO8859P1,由于历史原因,不可修改。已经修改本地 NLS_LANG: 1.通过执行select NLS_LANGUAGE, NLS_ISO_CURRENCY,NLS_CHARACTERSET from V$NLS_PARAMETERS查看服务端字符集 2.通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCA...
PLSQL Developer 配置Oralce11g连接+中文乱码问题
PLSQL Developer因为没有对应的64位程序,所以用该程序连接Oracle时只能对应x86的Oracle客户端。本示例为Oracle11g,去官网下载instantclient_11_2的x86版本。11g之后可以不用安装程序,直接使用这种绿色程序便可。     1.配置环境变量:ORACLE_HOME=D:\Program Files (x86)\instantclient_11
Qt操作Oracle解决汉字乱码方案
Qt操作Oracle解决汉字乱码方案,使用Qt操作Oracle的时候会出现乱码,此文提供2种方案解决
使用plsql连接linux上oracle12c中文乱码的问题
简述我的乱码情况:我使用plsql插入数据,在xshell上使用命令查到的中文是乱码,反之,使用命令插入的数据到plsql中也是乱码。废话不多说,直接上方案:1,登录oracle用户(你安装oracle创建的用户),登录管理员账号。,2,输入sql命令:select userenv('language') from dual;SQL查询服务端的字符集。3,去后台linux查看字符集编码,[orac...
RODBC连接oracle乱码解决
https://blog.csdn.net/sinat_27115575/article/details/60768732
Sqlplus连接Oracle出现中文乱码问题以及字符集的选择
字符集一共有三种:a.操作系统zifu
QT通过ODBC驱动连接Oracle数据库
1)我是用的是qt4.8.6,里面是自带odbc驱动的,如果没有的话也可以进行编译,具体方法是: 第一步,打开qt下的黑窗体; 第二步,一次输入:           1、  cd C:\Qt\4.8.6\src\plugins\sqldrivers\odbc           2、qmake -o Makefile odbc.pro          3、nmake release或...
解决dos窗口中 oracle客户端乱码问题
我的dos窗口中存在的乱码问题为:  输入sqlplus命令   提示输入用户名、密码   是乱码   如下图: 导致的原因:  环境变量中设置的编码和oracle本身的编码不一致  解决方法为:  查询数据库的编码     命令 select userenv('language') from dual;          如下图:  这里查询到编码为gbk 
python下连接Oracle查询乱码
Python连接Oracle查询乱码
Qt远程连接Oracle数据库
一:代码 [cpp] view plaincopyprint? /**连接Oracle数据库   *数据库名:abc   *表名:my_oracle   *用户名:system   *密码:123   *端口号:(默认)1521 */  void MainDialog::connectOracle(QString sIp, int iPort,  Q
java远程连接Oracle乱码问题
用java连接服务器上的Oracle,中文出现乱码 用sql查看Oracle字符集: select userenv('language') from dual 得到us7ascii 故在连接查询时需要转码,如下: 查询一条记录: Connection conn=null; PreparedStatement pstmt = null; ResultSet rs=nul
THINKPHP 读取oracle乱码问题解决方案
测试环境: thinkphp3.1.3  +oracle 11g (1) DbOracle.class.php  找到构造函数  public function __construct($config=''){        putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1"); 确保putenv 里面填写的是  oracle
hibernate操作oracle中文查询条件乱码解决方法
在hibernate总配置文件里 加上 org.hibernate.hql.classic.ClassicQueryTranslatorFactory 这句就好了 hibernate3 里 注:  UTF-8 光加这一句不行
汉字在VB和oracle 以及C#和oracle之间乱码问题
 oracle 数据库用字符集AL32UTF8,VB程序通过ADODB连接数据库。存储的汉字在数据库里面是乱码。但是通 过VB程序解读出来的汉字确是正确的。换成C#程序,连接oracle数据库,无论是用ADO.NET还是,oracleclient。 读取的汉字都是乱码。后来在网上看到C#也可以用ADODB存取数据库。在C#程序中改为ADODB访问oracle。这 下汉字终于可以正常显示
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 物联网连接视频教程 python+sql连接教程