dbeaver连接Oracle中文乱码的解决方案--druid
source link: http://www.cnblogs.com/downmoon/p/13329324.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
前言:
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK