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

2022-08-01,,,,

前言:

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

 

 

方法一:

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

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
startup plsql.exe

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

 

方法二:

在sqlplus命令前设置字符集:

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

 

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

步骤:

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

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

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

 

 

3、测试连接,成功!

 

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

 

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

 

 

小结: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

《dbeaver连接Oracle中文乱码的解决方案--druid.doc》

下载本文的Word格式文档,以方便收藏与打印。