解决oracle乱码的问题


本文摘自PHP中文网,作者hzc,侵删。

解决oracle乱码的问题

是不是经常看见各式各样的乱码,看见头就大了,大家别怕,所有的问题都会有一个甚至不止一个的解决方案,

有句名言说的好:万法不离其踪。网上大部分把工具的乱码和代码操作的乱码混为一谈,方案看了一大堆都是一个粘贴一个的,没有一点创新,于是今天出这篇博客。

以下方案服务端字符集编码是:SIMPLIFIED CHINESE_CHINA.US7ASCII 测试ok,其他编码的可以参考

一.工具乱码:

使用PLSQL Developer查询或者编辑的时候出现??的时候:

原因:客户端机和服务器上的字符集不一致

解决:

先查询服务端的字符集编码,然后将客户端的修改一直即可;

1.查询服务的字符集:

2.通过工具查看客户端的字符集编码:

打开工具:help-support info

1.png

2.png

3.设置环境变量(系统环境变量):

1

NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)

如果没有生效,建议重启电脑!

二.查询乱码:

设置两个:

1.修改环境变量:

1

NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)

2.修改注册表:(为了保险起见,查找注册表中的NLS_LANG所有的,避免有多个)

1

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

3.png

如果没有生效,建议重启电脑!

三.插入乱码:

解决中...

四.导入或导出乱码:

暂无

五.服务端修改编码:(此方案慎重使用)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

cmd

sqlplus/nolog

conn/as sysdba;

shutdown immediate;

startup mount;

alter session set sql_trace=true;

alter system enable restricted session;

alter system set job_queue_processes=0;

alter system set aq_tm_processes=0;

alter database open;

alter database character set ZHS16GBK;

alter database character set internal_use ZHS16GBK;

alter database national character set internal ZHS16GBK;(如果报错,可以不用理会)

shutdown immediate;

startup;

推荐教程: 《Oracle教程》

以上就是解决oracle乱码的问题的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

oracle 创建用户及数据表的方法

连接oracle数据库时报ora-12541tns无监听程序的图文解决教程

oracle中exists的用法

dba 在linux下安装oracle database11g数据库图文教程

oracle报错(ora-00600)问题处理

oracle学习笔记(二)

oracle监听器服务不能启动的解决方法

oracle锁处理、解锁方法

oracle—sql技巧之(一)连续记录查询sql案例测试

分解oracle存储过程或函数调试过程步骤

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...