# 求推荐支持 UTF-8 编码的、免费的 CSV 编辑器

**URL:** <https://meta.appinn.net/t/topic/67576>\
**Category:** 问题求助\
**Tags:** linux, windows\
**Created:** [2025 年3 月 14 日 14:07 UTC](https://meta.appinn.net/t/topic/67576 "2025-03-14T14:07:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 14 日 14:07 UTC](https://meta.appinn.net/t/topic/67576/1 "2025-03-14T14:07:35Z")

</div>

我这里有很多数据都是 UTF-8 格式编码的 CSV 文件，无法用 Excel 进行编辑，请问还有哪些支持 UTF-8 编码的 CSV 编辑器？

最好是支持 Linux 平台的，如果只支持 WIndows 平台也可以。先谢谢大家了！

---

<div class="post-metadata">

作者： ![3\_5105](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/3_5105/32/57748_2.png) [@3\_5105](https://meta.appinn.net/u/3_5105)\
发布日期： [2025 年3 月 14 日 14:17 UTC](https://meta.appinn.net/t/topic/67576/2 "2025-03-14T14:17:31Z")

</div>

好奇一下，为什么不能使用Excel编辑，我的Microsoft Office 2010中的Excel是支持UTF-8编码的

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 14 日 14:34 UTC](https://meta.appinn.net/t/topic/67576/3 "2025-03-14T14:34:21Z")

</div>

我这边确实是不行，MS Office 2021，打开 UTF-8 编码的 CSV 文件就会乱码。

![](https://h1.appinn.me/file/1741962815039_Screenshot.png)

还有，我这里的打开，是直接双击 CSV 文件、用 Excel 打开，不是在 Excel 里面导入 CSV 文件的数据。

---

<div class="post-metadata">

作者： ![3\_5105](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/3_5105/32/57748_2.png) [@3\_5105](https://meta.appinn.net/u/3_5105)\
发布日期： [2025 年3 月 14 日 14:39 UTC](https://meta.appinn.net/t/topic/67576/4 "2025-03-14T14:39:25Z")

</div>

您是正确的，如果只有ASCII字符的话，无BOM UTF8和ANSI编码方式一致，故我未能发现错误。

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 14 日 14:40 UTC](https://meta.appinn.net/t/topic/67576/5 "2025-03-14T14:40:34Z")

</div>

啊，这……原来还有这么回事，张知识了 👍

---

<div class="post-metadata">

作者： ![chenyiping1995](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/chenyiping1995/32/58814_2.png) [@chenyiping1995](https://meta.appinn.net/u/chenyiping1995)\
发布日期： [2025 年3 月 14 日 15:06 UTC](https://meta.appinn.net/t/topic/67576/6 "2025-03-14T15:06:28Z")

</div>

VSC + CSV 插件似乎可以？

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 14 日 15:06 UTC](https://meta.appinn.net/t/topic/67576/7 "2025-03-14T15:06:57Z")

</div>

> [@chenyiping1995](#):
>
> CSV 插件

可以给个链接吗？我去看看

---

<div class="post-metadata">

作者： ![jark006](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/jark006/32/58289_2.png) [@jark006](https://meta.appinn.net/u/jark006)\
发布日期： [2025 年3 月 14 日 15:20 UTC](https://meta.appinn.net/t/topic/67576/8 "2025-03-14T15:20:20Z")

</div>

这种情况我来的话，直接几行代码把全部文件转为gbk编码，用Excel编辑完再一键全部转回utf8

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 14 日 15:27 UTC](https://meta.appinn.net/t/topic/67576/9 "2025-03-14T15:27:12Z")

</div>

也不是不行，就是文件太多，有点麻烦……

---

<div class="post-metadata">

作者： ![3\_5105](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/3_5105/32/57748_2.png) [@3\_5105](https://meta.appinn.net/u/3_5105)\
发布日期： [2025 年3 月 14 日 15:45 UTC](https://meta.appinn.net/t/topic/67576/10 "2025-03-14T15:45:25Z")

</div>

~~那么尝试制作一个补丁，为office提供相关支持？C语言就能实现。原理上不难，但是调试估计很麻烦…~~  
楼下有更优解法

* * *

补充： ~~您是否使用了不带bom的utf8编码格式？请尝试在记事本另存为中查看是否有“带BOM的UTF8”，以此保存，再检查。~~  
不用检查了，但是乱码的原理可以看一下

BOM（用于指示编码类型的文件头）经常是导致乱码的罪魁祸首。  
Linux等系统中，UTF-8一般不带BOM。而Windows因为支持八万年前的ANSI编码，所以在Windows中无BOM就有两种情况：  
1，不带BOM的UTF-8  
2，ANSI  
因为没有BOM，谁也不知道谁是谁。它们表示ASCII的时候完全无异，所以只有英文就还好，但是一旦出现其他语言，就全乱套了…连早期Windows自己的记事本关闭后再打开都有可能认错编码。  
区分UTF8或ANSI的解决办法：  
1，手动指定  
2，逐个读取字符。如果某个字符不属于UTF8或ANSI，则可以确认该文本编码为另一者

而Microsoft office就很奇怪，它支持打开许多许多编码格式（也包括带BOM的UTF8，不带BOM的UTF8需要手动指定编码）的csv，但是却不支持保存为除了ANSI以外的编码

---

<div class="post-metadata">

作者： ![Aquamarine](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/a/22d042/32.png) [@Aquamarine](https://meta.appinn.net/u/Aquamarine)\
发布日期： [2025 年3 月 14 日 15:57 UTC](https://meta.appinn.net/t/topic/67576/11 "2025-03-14T15:57:35Z")

</div>

EmEditor可以

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2025 年3 月 14 日 16:23 UTC](https://meta.appinn.net/t/topic/67576/12 "2025-03-14T16:23:28Z")

</div>

LibreOffice可以正确打开并编辑的，如下图所示，编码完全可以自定义

 ![图片](https://meta.appinn.net/uploads/default/original/3X/e/e/ee7fb7398e1464b622a46dbec717cd15d620c208.png)

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 00:48 UTC](https://meta.appinn.net/t/topic/67576/13 "2025-03-15T00:48:22Z")

</div>

> [@3\_5105](#):
>
> BOM（用于指示编码类型的文件头）经常是导致乱码的罪魁祸首。

原来如此，多谢指点！

> [@3\_5105](#):
>
> 而Microsoft office就很奇怪，它支持打开许多许多编码格式（也包括带BOM的UTF8，不带BOM的UTF8需要手动指定编码）的csv，但是却不支持保存为除了ANSI以外的编码

MS Excel 2019、2021 已经解决这个问题了，在 “另存为” 对话框中，可以将保存文件格式设置为 “CSV UTF-8”。

![](https://h1.appinn.me/file/1741999666265_Screenshot.png)

另外那个 “CSV” 选项，保存得到的还是用 ANSI 编码的 CSV 文件。

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 00:49 UTC](https://meta.appinn.net/t/topic/67576/14 "2025-03-15T00:49:07Z")

</div>

谢谢，但 EmEditor 的 CSV 编辑模式需要买高级版，那玩意儿对我而言太贵了，买不起。

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 00:56 UTC](https://meta.appinn.net/t/topic/67576/15 "2025-03-15T00:56:05Z")

</div>

啊这，我差点把 LibreOffice Calc 给忘了。目前来看这确实是最好的解决方案了，原生支持 Linux，而且支持包括 UTF-8 在内的多种编码。

不过它和 Excel 都有一个通病：会擅自修改内容，比如 `1.200` 会被改成 `1.2`，`1-1` 会被改成 `25年1月1日`

* * *

LibreOffice Calc 那边找到解决方法了：在导入 CSV 的对话框中，把有问题的列的类型改成 “文本” 即可。

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 01:02 UTC](https://meta.appinn.net/t/topic/67576/16 "2025-03-15T01:02:46Z")

</div>

刚刚找到一个软件：Modern CSV

> **[Home](https://www.moderncsv.com/)**
>
> CSV file editor application for Windows, Mac, and Linux with powerful editing tools and large file viewing. Edit CSV files for free today.

- 收费的，付费版有很多扩展功能（但对我而言用不上），免费版足以满足日常编辑需求。
- 原生支持 Linux、Windows 和 macOS。
- 按原样呈现数据，不会把 `1.1000` 变成 `1.1`、`1-1` 变成 `1月1日`。
- 支持向 WPS 表格那样高亮当前行列。
- 自动冻结首行（标题行）。

但也有问题：

- 菜单栏里的功能很多、恨乱，有时候找一个功能得看半天。
- 在 Linux 上不支持 Fcitx 5 输入法。

---

<div class="post-metadata">

作者： ![xirbq2zijp](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/a9a28c/32.png) [@xirbq2zijp](https://meta.appinn.net/u/xirbq2zijp)\
发布日期： [2025 年3 月 15 日 02:59 UTC](https://meta.appinn.net/t/topic/67576/17 "2025-03-15T02:59:25Z")

</div>

错误的，Excel不是不支持UTF-8 CSV，而是对于UTF-8 CSV，它只认带BOM的  
你试试给你的UTF-8 CSV加上BOM看看

CSV并没有明确的标准，所以微软就用它自己那套识别方法，凡是不带BOM都识别为非UTF-8，就会用本地化编码打开，比如简中的几种GB编码，所以就出问题了  
如果只需要数据，不需要点开就编辑的话，可以导入数据到Excel，这样是不会有兼容问题的，这也是建议的方法，因为上面说了，CSV并无明确标准，直接打开会有兼容性问题

如果想直接打开不带BOM的UTF-8 CSV，可以用LibreOffice Calc，支持Windows、Linux  
Calc比Excel方便，Excel在导入的时候才会有预览，而Calc打开就有预览了，Calc还能直接在打开的时候选择编码

> [@VictoryRoad](#):
>
> 不过它和 Excel 都有一个通病：会擅自修改内容，比如 `1.200` 会被改成 `1.2`，`1-1` 会被改成 `25年1月1日`

你说的这个情况就是默认格式为常规，无论Excel还是Calc都是这样  
如果你数据多是文本，也可以直接设置默认格式为文本，就不用每次都改了

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 03:03 UTC](https://meta.appinn.net/t/topic/67576/18 "2025-03-15T03:03:11Z")

</div>

> [@xirbq2zijp](#):
>
> Excel不是不支持UTF-8 CSV，而是对于UTF-8 CSV，它只认带BOM的  
> 你试试给你的UTF-8 CSV加上BOM看看

感谢指点。

> [@xirbq2zijp](#):
>
> 如果想直接打开不带BOM的UTF-8 CSV，可以用LibreOffice Calc，支持Windows、Linux  
> Calc比Excel方便

这也是我现在采用的方案。

> [@xirbq2zijp](#):
>
> 也可以直接设置默认格式为文本

请问 LibreOffice Calc 有办法设置打开 CSV 时默认格式为文本吗？

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2025 年3 月 15 日 03:43 UTC](https://meta.appinn.net/t/topic/67576/19 "2025-03-15T03:43:49Z")

</div>

我都是把所有文本一律加上引号再识别（

似乎可以写个小程序解决此问题？

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2025 年3 月 15 日 03:48 UTC](https://meta.appinn.net/t/topic/67576/20 "2025-03-15T03:48:27Z")

</div>

> [@CCR](#):
>
> 我都是把所有文本一律加上引号再识别（

这个对我而言不适用，因为 CSV 里面的数据后续是要给其他程序做分析的。

[下一页](https://meta.appinn.net/t/topic/67576.md?page=2)
