欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

dbeaver连接Oracle中文乱码的解决方案--druid

程序员文章站 2022-03-29 22:45:47
dbeaver是一个优秀的通用数据库客户端连接工具,最重要的是社区版一直是开源免费。但是在连接服务端的WE8ISO8859P1字符集时,表中的数据查询出来显示为乱码,无论怎么修改参数都没用。本文主要介绍如何解决这个问题。...

前言:

  dbeaver是一个优秀的通用数据库客户端连接工具,最重要的是社区版一直是开源免费。但是在连接服务端的WE8ISO8859P1字符集时,表中的数据中文查询出来显示为乱码,无论怎么修改参数都没用。

 dbeaver连接Oracle中文乱码的解决方案--druid

 

方法一:

在PL/SQL的前面设置字符集:

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
startup plsql.exe

dbeaver连接Oracle中文乱码的解决方案--druid

方法最佳,但PL/SQL 毕竟是收费的。

 

方法二:

在sqlplus命令前设置字符集:

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

dbeaver连接Oracle中文乱码的解决方案--druid

 

方法三:使用druid,参考https://my.oschina.net/joshuazhan/blog/122591

步骤:

1、下载druid,开源免费,“阿里巴巴计算平台事业部出品,为监控而生的数据库连接池”。

https://repo1.maven.org/maven2/com/alibaba/druid/1.1.23/

dbeaver连接Oracle中文乱码的解决方案--druid

2、将下载的druid-1.1.23.jar、ojdbcXX.jar加入到驱动。本人偷懒直接用dbeaver下载的ojdbc8-12.2.0.1.jar

 

 

3、新增加一个驱动,如下:

 类名:com.alibaba.druid.proxy.DruidDriver

驱动模板:jdbc:wrap-jdbc:filters=encoding:name=dbeaver:jdbc:oracle:thin:@{host}[:{port}]/{database}

连接参数:

clientEncoding:GBK

serverEncoding:ISO-8859-1

 

dbeaver连接Oracle中文乱码的解决方案--druid

dbeaver连接Oracle中文乱码的解决方案--druid

 

3、测试连接,成功!

dbeaver连接Oracle中文乱码的解决方案--druid

 

4、在SQL中查询,结果已正常显示中文。

dbeaver连接Oracle中文乱码的解决方案--druid

 

5、周围显示的红色代表是在生产环境,绿色的代表开发环境,以提醒操作人员。

dbeaver连接Oracle中文乱码的解决方案--druid

 

 

小结:druid没有原生的jdbc驱动强大,但它确实解决了字符集不匹配的问题,也是一个很好的免费解决方案。如果默认没有字符集不匹配的情况,直接用原生的Oracle驱动即可。

 

参考:

https://my.oschina.net/joshuazhan/blog/114194

https://my.oschina.net/joshuazhan/blog/122591

https://github.com/alibaba/druid/

https://repo1.maven.org/maven2/com/alibaba/druid/1.1.23/

 

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 
3w@live.cn 

本文地址:https://blog.csdn.net/downmoon/article/details/107405727