记一次oracle托马斯回旋乱码问题解决,select * 会乱码。select 具体字段不乱码!!!!!!!!

前几天在centos7云服务器上装了个oracle,也是第一次安装,虽有些坎坷最终也算搞定了

之前遇到过navicate或者plsql远程登录oracle数据库查询会乱码的问题,所以这次提前做好了准备:


看下数据库的字符编码:

这里写图片描述


windows环境变量相应设置一下

这里写图片描述

但是数据导进去之后远程登录查询的时候还是傻眼了:

不管是navicate还是plsql都是这样的结果!

查询单个字段妥妥的
这里写图片描述
查出整个表就乱码了
这里写图片描述

谁懂我内心的崩溃吗?

后来找了个查询没问题的数据,两个库对比了一下:
SELECT * FROM NLS_DATABASE_PARAMETERS;

左边是正常库的结果,右边是我的乱码库的结果,只发现了一处不同
这里写图片描述

好吧只能死马当活马医了,改吧:

sqlplus / as sysdba
startup

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 character set INTERNAL_USE AL32UTF8;
update props$ set VALUE$='AL16UTF16' where NAME='NLS_NCHAR_CHARACTERSET';
commit;

ALTER SYSTEM DISABLE RESTRICTED SESSION;

修改字符集之后重启了数据库(不知道有没有必要但是以防万一我这么做了):

shutdown immediate;
startup;

数据库删了重新导数据
问题解决了。激动

不过还是不清楚根本原因,查资料说一个是数据库字符集,一个是国家字符集,搞不懂,难道查全表和查字段是两套字符集嘛

如果有大神看到还请指导下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值