oracle查询结果乱码,oracle显示乱码字符集
字符集有哪些:有AL32UTF8、ZHS16GBK、US7ASCII、AL24UTFFSS、UTF8、UTFE、AL16UTF16等等。
查到数据显示 一堆乱码
首
单位工作中经常需要提取大量数据,这时就会用到SQL语句在后台进行查询,但有时查询到的数据尽显示为一堆乱码,对于“数据库”小白来说,真是一头雾水,不知怎么处理。其实这就是因为电脑注册表中ORACLE的字符集没有设置正确,我们需要一点点小技巧来处理。今天小编就用几幅图跟大家分享一下处理的心得。
字符集有哪些:有AL32UTF8、ZHS16GBK、US7ASCII、AL24UTFFSS、UTF8、UTFE、AL16UTF16等等。
查到数据显示 一堆乱码
首先,打开注册表编辑器
用快捷键WIN R(或在“开始”里)打开运行,录入“regedit”点击“确定”,这样就打开了注册表编辑器。
运行regedit
其次,在注册表编辑器中修改oracle的三处“字符集”。
第一处:修改oracle中nls_lang的“字符集”数值——这里我是由“SIMPLIFIED CHINESE_CHINA.ZHS16GBK” 变更为 “AMERICAN_AMERICA.AL32UTF8”(各位看官的具体情况要根据各自的数据库“字符集”设置情况选择变更)。
修改第一处字符集数值
第二处是修改oracle目录下又all_homes目录下的id0中nls_lang的“字符集”数值,也是由“SIMPLIFIED CHINESE_CHINA.ZHS16GBK” 变更为 “AMERICAN_AMERICA.AL32UTF8”。
修改第二处字符集数值
第三处是修改oracle目录下又home0目录中nls_lang的“字符集”数值,也是由“SIMPLIFIED CHINESE_CHINA.ZHS16GBK” 变更为 “AMERICAN_AMERICA.AL32UTF8”。
修改第三处字符集数值
最后就是重新查询数据啦!
重新在Sql Server软件中运行查询语句,你会发现,查询后显示的汉字都正常啦!
如何解决oracle数据库查询时出现乱码问题?
oracle数据库查询时出现乱码,很可能是该数据库的字符集设定不支持中文,但是表中数据含有中文,所以变为乱码。如果是字符集原因,解决方法如下:
1、shutdown immediate; 关闭数据库
2、startup mount; 开启数据库至挂载模式(只挂实例,不启动数据库)
3、alter system enable restricted session;开启会话限制
4、alter system set aq_tm_processes=0;修改系统参数
5、alter system set job_queue_processes=0;修改系统参数
6、alter database open;启动数据库为open
7、alter database national character set internal_user (zhs16gbk);修改字符集
8、alter system disable restricted session;关闭会话限制
括号内可填写字符集类型,zhs16gbk、AL32UTF8等字符集都支持中文。
oracle 插入中文查询显示乱码,问号是什么原因
你好,大多数都是字符集不一致导致的乱码问题。对于出现乱码或问号等不正常显示问题,根据数据库字符集,正确配置参数NLS_LANG,一般可以解决,如果仍出现乱码,则可能和所使用的工具的字体编码设置有关。那么解决出现的乱码时应该依次检查:查看数据库和客户端字符集,主要设置NLS_LANG;查看系统语言设置LANG参数;查看所用终端、工具字体编码设置。
针对所出现的问题,查看plsql的字体编码为GB2312,CRT的字体编码是UTF-8,修改为GB2312,centos终端修改-终端设置-字符编码修改,乱码问题解决。
文章评论