首页>文档>技术文档>oracle多种乱码情况与解决方法

此组别内的文章

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

oracle多种乱码情况与解决方法

数据库中乱码的问题是比较常见的,很多朋友看见头就大了,其实要解决乱码并不难,但是乱码的情况有很多,相应的解决方法有不同。因此,本文就给大家分享一下Oracle多种乱码情况及解决方法,感兴趣的朋友可以看看。

    解决oracle乱码的问题:

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

    一.工具乱码:

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

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

    解决:

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

    1.查询服务的字符集:

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

    打开工具:help-support info

oracle多种乱码情况与解决方法插图
oracle多种乱码情况与解决方法插图1

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

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

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

    二.查询乱码:

    设置两个:

    1.修改环境变量:

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
oracle多种乱码情况与解决方法插图2

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

    三.插入乱码:

    解决中…

    四.导入或导出乱码:

    暂无

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

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;
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
搜索