问题表述:

VB连接Oracle 11g数据库,取出的数据出现中文乱码,英文正常。

环境如下:

服务端:Oracle11g,Radhat,英文操作系统,数据库字符集 AMERICAN_AMERICA.ZHS16GBK

客户端:MSDAORA驱动包,XP中文,系统字符集GBK,VB6.0汉化版,安装有Oracle11g Client,注册表中在Oracle下有NLS_LANG键,键值为AMERICAN_AMERICA.ZHS16GBK

连接语句:

Conn.ConnectionString = "Provider=MSDAORA.1;Password=*****;User ID=******;Data Source=dbcenter;Persist Security Info=True"

获取数据后,中文显示为“?????”

解决方法:

1、查看服务器端数据库字符集

select userenv('language') from dual;

获得结果为 AMERICAN_AMERICA.ZHS16GBK

2、在XP系统环境中增加变量NLS_LANG,赋值AMERICAN_AMERICA.ZHS16GBK

即:NLS_LANG = AMERICAN_AMERICA.ZHS16GBK

3、保存后重启计算机或注销计算机

4、重新打开VB工程,无需修改代码,获取中文数据正常。

注意:

1、在没有配置环境变量的情况下,使用pl/sql或者navicat均可以正常获取中文数据,无乱码现象。

2、只有VB6.0出现该问题,配置NLS_LANG变量后,正常读取中文数据。

3、在VB连接语句中加入Unicode=True并不生效,无法解决中文乱码问题。

分析现象后,个人认为,pl/sql、navicat等客户端会读取注册表中Oracle的NLS_LANG键值,而VB在使用MSDAORA驱动访问Oracle时,会读取系统环境变量中的NLS_LANG参数,如果没有该参数,则会出现中文乱码问题,而英文显示正常,具体用的何种编码来解释获取的数据,尚未查明。

VB6.0连接Oracle中文乱码相关推荐

  1. C#连接Oracle中文乱码问题解决方法

    C#连接Oracle中文乱码问题解决方法 参考文章: (1)C#连接Oracle中文乱码问题解决方法 (2)https://www.cnblogs.com/ycdx2001/p/3246139.htm ...

  2. dbeaver连接Oracle中文乱码的解决方案--druid

    前言: dbeaver是一个优秀的通用数据库客户端连接工具,最重要的是社区版一直是开源免费.但是在连接服务端的WE8ISO8859P1字符集时,表中的数据中文查询出来显示为乱码,无论怎么修改参数都没用 ...

  3. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PA ...

  4. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法_PHP

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PA ...

  5. php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...

  6. linux oracle查询乱码问题,linux中oracle中文乱码解决方法

    乱码问题的根源是字符集的修改,下面我们来看一下linux中oracle中文乱码解决方法. 查看客户端的语言编码设置: 配置文件中的配置: cat ~/.bash_profile 注意修改配置信息:ex ...

  7. linux下的oracle中文乱码,Linux环境解决Oracle 中文乱码

    linux下Oracle显示中文乱码 1.Oracle数据库出现乱码的原因: 操作系统与服务器一致,但客户端与服务器字符集不一致 客户端与服务器一致,但操作系统与服务器不一致 2.解决办法: 设置相关 ...

  8. oracle客户端查看字符集,oracle 中文乱码---查看和修改客户端字符集

    客户端NLS_LANG的设置方法 Windows: # 常用中文字符集set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK # 常用unicode字符集 set ...

  9. c# mysql 编码_c# 连接MySQL中文乱码问题的正确方案

    以下的文章主要向大家介绍的是c# 连接MySQL中文乱码问题的正确解决方法,一开始不太清楚为什么整个数据库的默认配置都为utf-8,而且有些人在使用http协议传送utf-8的汉字时,是正确的执行了的 ...

  10. c 访问mysql 乱码_c语言连接mysql中文乱码怎么办

    c语言连接mysql中文乱码怎么办 发布时间:2020-06-30 13:42:44 来源:亿速云 阅读:96 作者:清晨 这篇文章主要介绍c语言连接mysql中文乱码怎么办,文中示例介绍的非常详细, ...

最新文章

  1. java param request_SpringMvc之@RequestParam详解
  2. 机器学习 | 数据从哪里找?手把手教你构建数据集
  3. git commit之后,想撤销commit
  4. 通过堡垒机rdp 黑屏_[调优]彻底解决RDP连接过程缓慢的问题
  5. 事务消息应用场景、实现原理与项目实战
  6. 迈克菲实验室:仅42%的网络安全专业人士使用共享威胁情报
  7. JQuery Ajax 使用FormData上传文件对象
  8. php中perl配置,Windows下 Apache、PHP和Perl的安装配置
  9. 创业公司用 Serverless,到底香不香?
  10. Atitit 业务领域体系分类 目录 1. 按照互联网企业类型以及只是体系类的分类 2 2. 电子商务 2 3. **通信类社交 Im类 em 2 4. **信息搜索类爬虫 2 4.1. 媒体
  11. mysql2000卸载_如何卸载mysql 图文教程教你完全卸载mysql数据库
  12. 从苹果2015年春季发布会看移动互联网的发展
  13. 从零开始学习ThingJS之创建App对象
  14. 新媒体时代的公关怎么做
  15. 最适合入门的100个深度学习实战项目
  16. 《蔡康永的201堂情商课(完结)》学习
  17. cocos-js与android平台互相调用
  18. SRM 475 DIV1 900
  19. Unity如何限制3D物体的旋转角度
  20. mysql简化的审批流程表设计

热门文章

  1. C#使用Socket实现一个socket服务器与多个socket客户端通信
  2. 论文阅读——SIPP: Safe Interval Path Planning for Dynamic Environments
  3. Linux 入门必备命令
  4. ug草图精度怎么设置_UG怎么设置草图尺寸? UG草图尺寸的编辑方法
  5. 武汉大学计算机学院电子与通信工程,武汉大学电子信息学院信息与通信工程
  6. 并网逆变器PI控制(并网模式)
  7. matlab 图像方差,Matlab方差解析var--实例说明matlab求方差
  8. matlab求方差、均方值和功率
  9. 《未来世界的幸存者》:你会是未来世界的幸存者吗?
  10. 按头安利!精品又实用的unity3D游戏素材看这里!