leadlrc

最近学习SSM项目开发,用到oracle数据库,

使用管理软件PL/sql developer往数据库表中插入数据时记录乱码。

 

 

 结果如下:

可以看到中文数据都乱码成了???????问号,

 

看了网上各位大佬的解决办法,说是由于oracle服务器端字符编码 和 Oracle 客户端字符编码不一致引起的。

(但是我的oracle服务器端 和 Oracle 客户端字符编码是一样的,这就很纳闷了,但同样用了以下解决办法,搞定!!!)

第一步:

登录PL/sql developer,检查Oracle服务器端字符编码,用

 

select userenv('language') from dual;

得到以下结果:

结果:

 

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

第二步:

查看Oracle 客户端字符编码,用

 

select * from V$NLS_PARAMETERS;

 

得到以下结果:

 

 可以看到我的oracle服务器端 和 Oracle 客户端字符编码是一样的,没关系继续往下看

 

 

 

第三步:

 

在windows中创 建一个名为“NLS_LANG”的系统环境变量,

设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,跟oracle服务器端字符编码一致,然后重新启动 pl/sql developer

 

 

 即可解决乱码问题!!!

 

 

 

 

 

 

补充1:(问题解决可忽略以下内容)

跟我有同样问题的同学完成上面的步骤后,重新登录PL/Sql developer数据还是显示乱码。

然后的解决办法是:

把表删除,注意是删表,而不是单单删除表中数据,

然后重新建表,重新插入数据,发现问题解决!!!

补充2:因为是用idea做开发,所以是直接用idea中database连接数据库,然后重新建表,插入的数据,

直接用PL/Sql developer没试过,应该也可以。

 

 

相关文章:

  • 2021-08-16
  • 2022-12-23
  • 2022-02-18
  • 2022-01-04
  • 2021-11-05
  • 2022-12-23
  • 2021-08-26
  • 2021-09-08
猜你喜欢
  • 2021-09-30
  • 2022-12-23
  • 2021-04-28
  • 2022-01-16
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案