DBeaver打开sql文件,中文出现乱码,目前不知如何彻底解决

6,745 阅读2分钟

1. 背景介绍

开源数据库连接工具dbeaver,安装时可以选择关联sql文件,双击sql文件后直接在dbeaver中的sql编辑器中打开该脚本。现在我用navicat导出结构和数据,导出了整个数据库,用dbeaver在本地数据库中导入,记录下发生的问题。

2.问题描述

直接双击已经关联的sql脚本,选择数据库运行脚本,在运行过程中报错SQL Error: 1406, SQLState: 22001____Data truncation: Data too long for column 'xxx' at row 1,但是该脚本用navicat导入并没有如此报错,网上查询该错误一般是:1添加的内容长度大于数据库字段的内容,2由于编码格式导致字符串内容不符。但是内容长度是从数据库中复制过来的并没有发生变化,不会超长,问题应该来自2,编码格式导致字符串内容不符

3.排查问题

仔细观察发现,dbeaver直接双击sql打开脚本,脚本中的中文都变成乱码,如图所示。

图片.png

找不到哪里可以更改编码规则,但是如果在dbeaver内新建一个sql编辑器,在空白编辑器中右键->文件->导入sql脚本->选择刚刚的sql文件导入,中文则不会乱码,选择执行sql脚本也可以正常导入数据库。如图所示

图片.png

目前不清楚原因

4.结语

一个莫名其妙的问题,知道如何避免但是不知道原因。DBeaver功能还是不错的,但是比较占内存,有时候有点卡,导入数据库速度也比navicat慢一些;只能说navicat不愧是付费软件,有它的优势。想用免费的可以推荐dbeaver。 更新:不是慢一些,是慢很多很多,同样的sql脚本,navicat导入只用6秒,dbeaver要10多分钟,无奈,不知道各位还有推荐别的软件没有