DBeaver 导出CSV文件中文乱码

相信在做IT开发的人都碰到过,中文乱码的问题。特别是做数据的工程是,经常有用sql查出一批数据后,要导成CSV文件时,发现导出的信息中,中文都是乱码;便会在网上各种查询处理方案,然后会搜索到一大堆没有治标不治本的方法。

  • 使用DBeaver导出的乱码数据

  • 真实数据确实如下

碰到这种乱码情况怎么办呢?其实只需要在导出时设置一个参数勾选即可(插入BOM)。

导出步骤:

第一步:

第二步:

第三步:导出时选择编码 UTF-8,并且勾选"插入BOM",然后下一步完成即可。

解释CSV读取数据的原理,以便于碰到csv打开乱码的其他问题。

原理:

Excel在读取csv的时候是通过读取文件头上的bom来识别编码的,如果文件头无bom信息,则默认按照unicode编码读取。这个bom是微软自己定义的一种文件头部协定,存储内容就是标识文件编码的信息,这个BOM 头在被其他的表格展示器(比如 Numbers 或者 Libre Office)打开的时候会被忽略,但对 Excel 就不一样了。我们在生成csv的平台不一定遵循微软的bom协议,导致如果输出非unicode编码的csv文件(例如utf-8),并且没有生成bom信息的话,Excel自动按照unicode编码读取,就会出现乱码问题了。所以只需将非unicode编码的csv文件,用文本编辑器(推荐notepad++)打开并转换为带bom的编码形式(具体编码方式随意),问题解决,变不会乱码。

开发代码层面生成CSV文件,注意设置如下参数:

//代码层面生成csv文件的地方加上如下所示// 产生 CSV 的过程,body: string[][], header: string[]
const csv = body.reduce((prev, current) => `${prev}\r\n${current}`, header);
const BOM = Buffer.from('\uFEFF');
// 设置BOM头
const bomCsv = Buffer.concat([BOM, Buffer.from(csv)]);
return bomCsv.toString();

该文仅为做一个笔记,供自己查阅,请大神勿喷,谢谢。

SQL工具导出CSV文件中文乱码相关推荐

  1. Pandas导出CSV文件中文乱码解决方法

    问题描述: 使用to_csv方法导出CSV文件,文件出现中文乱码 解决方法: 在使用to_csv时在参数中加入参数encoding='utf_8_sig' 关于原理,请参考以下文章: utf-8和ut ...

  2. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

  3. PHP导出CSV文件出现乱码的解决方法

    PHP导出CSV文件出现乱码的解决方法 参考文章: (1)PHP导出CSV文件出现乱码的解决方法 (2)https://www.cnblogs.com/xingxia/p/php_csv.html 备 ...

  4. UTF-8的CSV文件中文乱码问题解决办法

    UTF-8的CSV文件中文乱码问题解决办法 参考文章: (1)UTF-8的CSV文件中文乱码问题解决办法 (2)https://www.cnblogs.com/leaves1024/p/1117138 ...

  5. Python 爬虫数据写入csv文件中文乱码解决以及天眼查爬虫数据写入csv

    python爬虫数据写入csv文件中文乱码,用'utf-8'在pycharm中打开文件没有问题,但是用excel打开却出现了问题,以下为解决方法. (最近在练习爬虫,这个博文是对自己学习的记录和分享, ...

  6. Python2写csv文件中文乱码问题及解决方法详解

    导读 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode,这篇文章给大家介绍Python2写csv文件中文乱码问题及解决方法,感兴趣的朋友跟随小编一起看看吧 ...

  7. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

  8. php 导出mysql csv 乱码_php导出csv文件打开乱码的解决方法

    在php编程中,经常会导出数据为excel或csv文件,不过为了操作方便,大多时候我们会用php导出csv文件. CSV,Comma Separator Value,常常用来数据转换的中间文件存在. ...

  9. kibana导出CSV文件显示乱码解决

    Excel软件打开电脑中的csv文件显示乱码如何解决 1.右击CSV文件,选择通过记事本方式打开; 2.打开后没有显示乱码,接着点击文件--另存为; 3.修改一下文件名,注意要保留csv格式,下方的编 ...

最新文章

  1. 火出圈!河南大学教授毕业典礼金句频现:躺平得了初一,躺平不到十五!
  2. Packet Tracer 5.0配置cisco路由器详细说明
  3. Markdown简单语法总结
  4. imos style android,自定义的第一个view
  5. MySQL 8.0 ROLE管理
  6. 如何在windows 2008 server 新建用户
  7. 【快捷键】—— 键盘篇
  8. 精选掘金后端小册及优惠购买链接
  9. Apple Pay发展与安全
  10. 三菱触摸屏程序和三菱PLC程序,程序都有注释
  11. 分享一款Latex在线编辑器 | 附Latex常用模版
  12. Spring IOC/DI和AOP
  13. 无法唤起订阅消息弹窗 requestSubscribeMessage:fail can only be invoked by user TAP gesture
  14. 适合女士开的车15万左右买哪个?凌渡怎么样?
  15. 内部异常 FileNotFoundException: 设备未就绪。 (异常来自 HRESULT:0x80070015)
  16. 前端架构设计第十课 前端数据结构和算法
  17. 直播平台开发时iOS 开发内购功能,直播平台源码搭建
  18. 华为2018软赛心得(西北36强)
  19. Spring批处理教程
  20. 企业绩效评价体系的四大层次

热门文章

  1. c#--在异步方法中异步地等待任务
  2. Vue/js 富文本编辑器、excel编辑器合集
  3. 博客9-16CSS 三大特性
  4. 【依葫芦画瓢】SSM-CRUD --- 2
  5. 林语堂:《醒觉·对人生的态度》
  6. ssm+jsp计算机毕业设计郑财学生经验分享平台的设计与实现hsk3u(程序+lw+源码+远程部署)
  7. 计算机专业去空军地勤能干嘛,空军地勤退役后能干什么?
  8. 关于C语言中自增自减
  9. Linux:使用upower命令查看电池信息
  10. vue3.0 使用vue脚手架生成vue项目 运行mapbox 3D地图例子