navicat for oracle 中文乱码,如何正确显示中文呀

sdwd_lhq 2015-01-31 01:13:21
服务器端是oracle 10G 64位的,字符集为:AMERICAN_AMERICA.US7ASCII
用navicat for oracle 连接正常,但中文显示乱码?如何解决呢?



在网上查看看到一些做法,照着做了,下载了instantclient-basic-win32-11.2.0.1.0.zip(basic 32版),并解压后将navicat for oracle 的工具菜单---选项----OCI目录指向该文件夹,然后设置2个环境变量NLS_LANG:AMERICAN_AMERICA.US7ASCII
TNS_ADMIN:为instantclient-basic解压后的路径。
设置好后,用navicat for oracle 11和Navicat Premium 11.1.18均能正常连接
(数据连接配置选择basic类型)如图,


可以正常访问表中的内容,但只是中文显示为方框,不知什么原因?请高手赐教呀
补充一下,用其他数据工具可以连接,并且显示中文正常,如pl/sql 、 powerbuilder等
但navicat for oracle 11和Navicat Premium 11.1.18缺乱码,不知如何处理?
另外:
我的客户端微机原来装有oracle92的client端,注册表里的都改过,如pl/sql 、 powerbuilder等显示正常,但navicat for oracle中文还是乱码。
注册表的值:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"NLS_LANG"="american_america.US7ascii"
...全文
7410 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaiwl8869 2016-07-26
  • 打赏
  • 举报
回复
Navicat Premium默认自带了instantclient_10_2,但是其是base lite版本的(Basic Lite: Basic 的精简版本,其中仅带有英文错误消息和 Unicode、ASCII 以及西欧字符集支持),不支持中文字符集,如果服务器端oracle恰好是中文字符集,instantclient_10_2不适合,因此需要下载base版本。将Navicat Premium中的OCI library设置为D:\Databases\Oracle\instantclient_12_1_x64\oci.dll,然后重启即可。
sdwd_lhq 2016-01-10
  • 打赏
  • 举报
回复
这个问题,我一直没有解决,盼望解决呀。。。
joewee123 2015-08-07
  • 打赏
  • 举报
回复
显示字体不支持中文,设置显示支持中文的字体
sdwd_lhq 2015-02-09
  • 打赏
  • 举报
回复
神哪帮帮我吧!!??
sdwd_lhq 2015-02-02
  • 打赏
  • 举报
回复
引用 4 楼 arlen1990 的回复:
[quote=引用 3 楼 sdwd_lhq 的回复:] 神哪,帮帮我吧!!
我前几天帮客户装oracle客户端,遇到这个问题, 就是环境变量添加一个path NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这样就ok了[/quote] 请问你的oracle服务器端字符集是“AMERICAN_AMERICA.US7ASCII”吗?我的环境变量开始的时候就加了 并且我还加了两个: NLS_LANG:AMERICAN_AMERICA.US7ASCII TNS_ADMIN:为instantclient-basic解压后的路径 可我的的确不行呀?感觉你的服务器端的字符集本身就是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以才正常显示。
easonulove 2015-02-02
  • 打赏
  • 举报
回复
引用 4 楼 arlen1990 的回复:
[quote=引用 3 楼 sdwd_lhq 的回复:] 神哪,帮帮我吧!!
我前几天帮客户装oracle客户端,遇到这个问题, 就是环境变量添加一个path NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这样就ok了[/quote]
不写代码的钦 2015-02-02
  • 打赏
  • 举报
回复
引用 3 楼 sdwd_lhq 的回复:
神哪,帮帮我吧!!
我前几天帮客户装oracle客户端,遇到这个问题, 就是环境变量添加一个path NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这样就ok了
sdwd_lhq 2015-02-01
  • 打赏
  • 举报
回复
神哪,帮帮我吧!!
sdwd_lhq 2015-01-31
  • 打赏
  • 举报
回复
这个早就改过, Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0] "NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 和 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0] "NLS_LANG"="AMERICAN_AMERICA.AL32UTF8" 还有这个: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0] "NLS_LANG"="american_america.US7ascii" 三种字符集都改过,中文都是乱码呀
不写代码的钦 2015-01-31
  • 打赏
  • 举报
回复
参数改下试试吗。 要想没有乱码,你的电脑字符集和oracle客户端字符集要一致, 在中国默认字符集不是这个ZHS16GBK吗?,改下试试。 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK http://blog.csdn.net/arlen1990/article/details/43194473
BOS 技术整理-02 Oracle 数据库安装配置使用 直接安装 打开服务 并尝试连接数据库 安装远程连接工具 PLSQLDeveloper 安装配置使用 2.在 PLSQL Developer 启动,配置 oracle instanceclient 目录 4、 默认 PLSQL Developer 连接 Oracle 使用客户端字符集 utf-8 , 基于工具使用 SQL 插入中文有乱码问题,设置客户端字符集 gb2312 配置 环境变量 NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK 弹窗了,就表示成功了! 工具补充: Navicat Premium 安装和使用 直接安装 ok jquery easyui 总合 (直接看API文档 后期加上如何使用) Orcale 创建用户 先进入 Orcale 命令行 针对 BOS 系统建立新的用户 创建 bos/bos 账户, 授予角色 connect、resource -- Create the user create user BOS identified by "" default tablespace SYSTEM temporary tablespace TEMP profile DEFAULT password expire; -- Grant/Revoke role privileges grant connect to BOS; grant resource to BOS; -- Grant/Revoke system privileges grant unlimited tablespace to BOS; Spring 环境搭建 IOC 导入 context 依赖 beans、core、expression AOP 导入 测试集成 Web 集成 配置监听器 整合持久层框架 hibernate、jpa web.xml 配置 spring 监听器 src/main/resource 下 建立 applicationContext.xml rc/main/resource 提供 config.properties 外部属性文件、log4j.properties 日志配置文件 配置文件如下: applicationContext.xml  struts2 注解 类上 @ParentPackage 包继承谁? extends=”struts-default” @Namespace 包命名空间 namespace=”/” @Actions struts2 的 Action 配置,用于配置多个 Action 方法上 @Action 配置访问路径,和方法绑定 @Result 结果集配置  struts2 和 spring 整合 struts2 的 Action 使用 spring 注解,被 spring 管理 @Controller spring 表现层 bean @Scope 配置 Action 为多例 Spring Data JPA 代替了 Hibernate "CURD " 但是和Hibernate一样 实现DAO(数据)层的功能 "增删改查" Hibernate 实体类 生成表结构 ---- 领域(Domain)驱动建模 这次使用的是驱动建模,传统的设计模式是: 先设计表,再创建实体 JPA 注解使用 @Entity 标明是实体类 @Table 映射表名称 @Id 主键标识 @GeneratedValue 自动生成主键的值 @Column 设置映射数据表中列信息 @Temporal 控制数据表保存日期哪个部分(日期、时间、日期时间) @OneToMany(mappedBy 相当于 inverse ) @ManyToOne 结合 @JoinColumn 添加一列外键 @ManyToMany 一方写 mappedBy 放弃外键维护、另一方 @JoinTable 维护中间表 收派标准修添加能实现 html 请求 后台处理 服务器端Service和DAO编写整合springdatajpa 业务层接口 修改 Action 代码调用 Service 业务层实现类 在applicationContext添加一条 用来整合 Spring Data jpa 注意: 这里的扫描包,必须指定到类的上级包 比如 一个类 com.itStone.bao.dao.test.java 那么它的上级包 就是 com.itStone.bao.dao 根级包是 : 就是 com 只需要编写 DAO 接口,继承 JpaRepository即可 不需要对 DAO 接口做任何实现, 实际上 spring 会调用 SimpleJpaRepository 实现 struts 2 注解

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧