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下可以找到很多解答方案,我也尝试过其中的一些,有些并没有成功解决,看来出现中文乱码的原因各不相同。在这里我只将我的解
Qt连接SQLServer的QODBC驱动
解决QSqlDatabase: QODBC driver not loaded QSqlDatabase: available drivers: QSQLITE问题 解压后放到QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers 类似的路径下
终于编译好了qt的oracle驱动QOCI,连接driver not loaded解决方法
我想你和我一样,照着
QT操作Oracle数据库(事务、存储过程)
QT操作Oracle数据库可以使用QODBC、QOCI两种驱动,这里使用QODBC驱动。在使用QOCI驱动操作oracle时,事务不能回滚,可能是我编译的QOCI驱动有问题,但是暂时没有找到原因。 #ifndef QTTEST_H #define QTTEST_H #include <QtGui/QMainWindow> #include "ui_qttest.h" #inclu...
由于编码问题引发的ODBC插入数据库中文错误
 一:问题: 用ODBC将字符数据插入数据库后,数据库中显示中文格式乱码,而英文格式完全正确,用ODBC进行查询操作完全正确。 如下所示 二:解决问题: 查看编码方式是否统一。 1.首先查看数据库分别是什么编码格式: 2.查看插入的表格是什么格式: 3.查看ODBC进行连接是的字符集。 我的数据源配置文件显示如下: 到目前为止,发现插入用和表
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...
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...
SQL Server学习记忆——编译SQL Server驱动 QODBC(四)
前言前面铺垫了很久,今天终于要利用Qt库连接SQL Server 2008 了。但是发现Qt5.6.0不具有QODBC驱动,因此使用此驱动需要根据自己的编译器版本自行编译,博客中详细介绍了如何利用VS2013编译64位的Qt5.6的QODBC驱动,其它版本过程类似。
MyEclipse配JDBC连接oracle后中文字段出现乱码!
在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用。本文将就这一问题产生的原因和解决
Oracle客户端连接远程Oracle服务中文乱码问题
Oracle客户端连接远程Oracle服务中文乱码问题   在本机远程连接远程Oracle服务的时候,写了如下检索语句 select * from sys_employee 结果集中出现了中文乱码,但是远程服务器本身的PL/SQL检索出来没有问题 解决方案: 步骤一: select * from v$nls_parameters 获取执行结果 步骤二:
SQL-SERVER-64位配置ORACLE连接-中文乱码问题
SQL-SERVER-64位配置ORACLE连接-中文乱码问题
oracle、odbc配置以及中文乱码解决方案
配置ODBC 如果计算机操作系统是64位在配置ODBC数据源不能使用控制面板中 “管理工具”->“数据源(OBDC)”这种方式, 而应是:在“运行” 中输入 C:\Windows\SysWOW64\odbcad32.exe  安装数据源。 选择添加    选择 Oracle in OraClient11g_home1  点击“完成”   填好数据,TNS Server N...
Jdbc连接oracle远程数据库中文乱码解决
<property name="connectionProperties"> <!-- 链接参数配置 “clientEncoding”和“serverEncoding”,分别指定数据库客户端和服务器端的字符编码 Encoding Filter从这两个参数获取编码 --> <value>clientEncoding=GBK;serverEnc...
PLSQL连接远程ORACLE数据库中文乱码解决
ORACLE版本  11g PLSQL版本   9 现象 :连接远程oracle 中文乱码 解决步骤 : 1 :   查看oracle字符集 select * from nls_database_parameters where parameter='NLS_CHARACTERSET'                       2: 设置系统环境变量   变量名 NLS_LANG  
关于C#,.net 访问oracle中文乱码问题
最近我用程序读取oracle数据库中数据时发现中文全部是乱码。于是我展开了一系列的办法最终解决了此问题。    工作环境:服务器  windows 2003+ oracle。                   服务器字符集 SIMPLIFIED CHINESE_CHINA.WE8DEC。                   编程环境 VS2005,C#,PLSQL。
hibernate访问oracle乱码问题
oracle的字符集是WE8ISO8859P1,由于历史原因,不可修改。已经修改本地 NLS_LANG: 1.通过执行select NLS_LANGUAGE, NLS_ISO_CURRENCY,NLS_CHARACTERSET from V$NLS_PARAMETERS查看服务端字符集 2.通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCA...
怎么解决JDBC读ORACLE的乱码问题
怎么解决JDBC读ORACLE的乱码问题 摘要: 怎么解决JDBC读ORACLE的乱码问题 ORACLE的字符集为US7ASCII,用ORACLE JDBC读的时候会有乱码,请问如何解决? 我知道可以用转码方式来解决new String(rs.getString("name").getBytes("ISO8859-1"),"GBK"); 但比较烦,有没有其他的更好的方式来解决这个问
Delphi 读写Oracle,中文出现乱码:靠靠
Delphi连接Oracle数据库时,出现中文乱码:靠靠,plsql查询出来的显示正常: with DmMain.ADOStoredProc1 do         begin           Close;           Parameters.Clear;           ProcedureName := 'pkg_SynZhongTai.sp_SaleListEnd';
PLSQL连接Oracle数据库后,查询出的数据中文乱码
需要配置以下环境变量,变量值要和数据库服务器的字符集一致。 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK
JDBC连接池中文乱码解决方案
Tomcat中有介绍JDBC连接池的文档,这里我就不阐述了JDBC连接池的技术。正如我前篇博客所说的那样 出现乱码的根本原因是字符集的不统一造成的,因此只要统一字符集即可。 所以,只要保持字符集统一即可。按照我前篇博客 所用到的方法,只能解决使用DriverManager连接数据库的字符集乱码问题,连接池是无法直接解决的。这是为什么呢?因为使用连接池时,URL中不能添加多余的参数,不能设置连接数
python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
Sqlplus连接Oracle出现中文乱码问题以及字符集的选择
字符集一共有三种:a.操作系统zifu
网站开发笔记:PHP oci连接Oracle中文乱码问题解决方案
正如一位大牛说的,最让程序员头疼的事就是文字编码问题,西方英文世界很多解决方案都是以他们为中心开发,他们没问题,拿到天朝世界,问题就来了,本问题困扰了我一段时间,php官网的oci介绍并没有关于怎么解决中文乱码问题。 解决重点是在连接Oracle时直接指定编码格式,而且特别注意是填写utf8,而不是常见的utf-8, $conn = oci_connect("C##SCOTT", "tiger
使用plsql连接linux上oracle12c中文乱码的问题
简述我的乱码情况:我使用plsql插入数据,在xshell上使用命令查到的中文是乱码,反之,使用命令插入的数据到plsql中也是乱码。废话不多说,直接上方案:1,登录oracle用户(你安装oracle创建的用户),登录管理员账号。,2,输入sql命令:select userenv('language') from dual;SQL查询服务端的字符集。3,去后台linux查看字符集编码,[orac...
qt如何通过ODBC连接mysql数据库
1. 首先需要建立服务器,其中存在一个数据库 我的方法是安装xampp,之后运行xampp,start    apache和mysql之后效果图如下。如果在start失败,可能的原因的你的端口被其他进程占用,自行百度方法 还有一个原因是安装xampp的时候路径中有空格之类,安装时最好是全英文路径,不要加乱七八糟的字符(这样最保险) 点击mysql的admin进入网页: 在其中添加数
PLSQL Developer 配置Oralce11g连接+中文乱码问题
PLSQL Developer因为没有对应的64位程序,所以用该程序连接Oracle时只能对应x86的Oracle客户端。本示例为Oracle11g,去官网下载instantclient_11_2的x86版本。11g之后可以不用安装程序,直接使用这种绿色程序便可。     1.配置环境变量:ORACLE_HOME=D:\Program Files (x86)\instantclient_11
RODBC连接oracle乱码解决
https://blog.csdn.net/sinat_27115575/article/details/60768732
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查询乱码
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或...
Qt操作Oracle解决汉字乱码方案
Qt操作Oracle解决汉字乱码方案,使用Qt操作Oracle的时候会出现乱码,此文提供2种方案解决
Qt远程连接Oracle数据库
一:代码 [cpp] view plaincopyprint? /**连接Oracle数据库   *数据库名:abc   *表名:my_oracle   *用户名:system   *密码:123   *端口号:(默认)1521 */  void MainDialog::connectOracle(QString sIp, int iPort,  Q
解决 oracle中文乱码问题 (原创)
我这里说的是对于oracle服务器的问题,在服务器中文乱码的解决问题 很简单的:修改注册表的: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0÷NLS_LANG中由SIMPLIFIED CHINESE_CHINA.ZHS16GBK修为AMERICAN_AMERICA.WE8ISO8859P1   就可以了  ...
THINKPHP 读取oracle乱码问题解决方案
测试环境: thinkphp3.1.3  +oracle 11g (1) DbOracle.class.php  找到构造函数  public function __construct($config=''){        putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1"); 确保putenv 里面填写的是  oracle
oracle客户端中文乱码处理
查询服务器用户字符集:select userenv('LANGUAGE') From dual查询结果:AMERICAN_AMERICA.ZHS16GBK 设置系统变量名:NLS_LANG,变量值:AMERICAN_AMERICA.ZHS16GBK 重启电脑服务器字符集:select * from nls_database_parameters  NLS_LANG = language_terri...
Yii2连接oracle中文乱码解决方法之一
Yii2 中,配置oracle数据库,设置字符类型,必须在DSN中设置,否则无效。
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 物联网连接视频教程 python+sql连接教程