Navicat导出CSV时如何添加UTF-8 BOM

胖涛姑娘_5613

胖涛姑娘_5613

2026-08-17

714人浏览

原创

必须手动选“UTF-8 with BOM”而非“UTF-8”,因Navicat默认导出无BOM的UTF-8,而Excel/Numbers依赖EF BB BF字节头识别编码;同时须勾选“Enclose fields in double quotes”防字段错位,二者缺一不可。

导出向导里必须手动选“UTF-8 with BOM”,不能只选“UTF-8”

navicat 默认导出编码是 utf-8(即无 bom),但 windows excel 和 macos numbers 都依赖文件开头的 ef bb bf 字节来识别 utf-8。不带 bom 的文件,excel 会当成 ansi(如 gbk)解析,中文立刻变 ??? 或方块。

操作路径:导出向导 → 格式选 CSV → 点「高级」→ 找到「编码」下拉菜单 → 必须选 UTF-8 with BOM(部分旧版显示为 UTF-8-BOM)。

常见错误:

  • 误点 UTF-8(它和 UTF-8 without BOM 是同一个选项)
  • 版本太老(v15.0.30 之前)菜单里压根没有该选项,需升级到 v17.0+
  • 以为连接层字符集(如 character_set_client)会影响导出,其实完全无关

怎么验证导出文件真有 BOM?别信界面提示

Navicat 界面显示“已选 UTF-8 with BOM”,不代表文件真写了 BOM。Windows 记事本、Mac 预览都看不到字节头,得用命令行确认。

在终端或 PowerShell 中执行:

hexdump -C your_file.csv | head -n 1

如果输出首行是:

00000000  ef bb bf ...

说明 BOM 存在;如果是:

00000000  e6 9d ad ...

(即中文“杭”的 UTF-8 起始字节),说明仍是无 BOM 的纯 UTF-8,打开必乱码。

注意:Mac 上 file -i your_file.csv 不可靠,它常把无 BOM 的 UTF-8 误报为 utf-8,实际解码失败。

Image To Excel
Image To Excel

从图像中提取表格内容,获取行列数据,纠正识别错误,生成格式良好的Excel文件。

下载

勾选“Enclose fields in double quotes”才能防字段错位

BOM 解决乱码,但不解决字段劈开问题。只要数据含逗号(如地址“杭州市,西湖区”)、换行或双引号,CSV 就会结构错乱。

必须在「高级」选项卡中:

  • 勾选 Enclose fields in double quotes
  • 确认 Text qualifier 是 "(英文双引号)
  • Field separator 保持 , 即可,不必改成 \t 或 |

否则即使 BOM 正确,Excel 里某行突然多出三列、内容全错位,就是这个原因。

导出后 Excel 还是删前导零?那是导入方式错了

导出本身没问题,但双击直接打开 CSV 时,Excel 会自动把“00123”当数字转成 123。这不是编码问题,是 Excel 的默认行为。

正确做法是:

  • 在 Excel 中点击「数据」→「从文本/CSV」→ 选择该文件
  • 在导入预览界面,手动把对应列的列类型设为 文本
  • 再点加载

如果必须双击打开,唯一补救是导出前把数字字段转字符串:SELECT CONCAT('', id) AS id FROM table,或用 LPAD(id, 5, '0') 补零。

真正容易被忽略的是:BOM 和双引号必须同时生效,缺一不可——一个管解码,一个管结构,两者独立且都关键。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

navicat csv excel 字节

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.11.03

5890

11

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

2026.10.21

0

15

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

2026.10.21

0

16

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

2026.10.21

0

16

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

100

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

80

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

40

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

40

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.6万人学习