返回
MCGS 昆仑通态 Pro 系列屏。 做了一个导出配方到 U 盘的功能,存的是 CSV 格式。 在屏上看中文一切正常,但是把 U 盘插到电脑 Excel 打开,所有的中文字符全是乱码(??这种符号)。
发布

MCGS 昆仑通态 Pro 系列屏。 做了一个导出配方到 U 盘的功能,存的是 CSV 格式。 在屏上看中文一切正常,但是把 U 盘插到电脑 Excel 打开,所有的中文字符全是乱码(??这种符号)。

15阅读 1 回复 2026-04-10 12:23发布
关注Ta

15612392977810普通会员楼主

电话/手机:联系客服

MCGS 昆仑通态 Pro 系列屏。
做了一个导出配方到 U 盘的功能,存的是 CSV 格式。
在屏上看中文一切正常,但是把 U 盘插到电脑 Excel 打开,所有的中文字符全是乱码(??这种符号)。
改了系统的区域语言,换了电脑打开也一样。
导出脚本里没有字符编码设置啊。
以前用的旧型号没这问题,是不是 2026 新出的固件对编码改动了?在线等个大侠救急!”

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2026-04-10 12:42:45

    这个问题其实不是新固件“出 Bug”,而是一个经典编码坑,在很多 HMI → Excel 场景里都会遇到。

    先给你一个结论:

    MCGS Pro 屏导出的 CSV 很可能是 UTF-8(无 BOM),而 Excel 默认按 ANSI(GBK)去解析,所以中文变成 “??” 或乱码。

    一、为什么屏上正常,电脑 Excel 打开却乱码

    因为:

    屏内部用的是 Unicode(UTF-8)
    CSV 文件本身没有编码标识(BOM)
    Excel 直接双击打开 CSV 时:
    默认按本地编码(中文系统一般是 GBK)

    结果:

    UTF-8 → 被当成 GBK → 中文乱码

    所以你看到:

    正常中文 → ?? 或 乱码
    二、为什么旧型号没问题

    常见原因有两个:

    1️⃣ 旧屏导出的是 ANSI(GBK)

    以前很多国产屏:

    默认导出 GBK 编码

    Excel 正好能识别,所以没问题。

    2️⃣ 新固件改成 UTF-8

    新系统更规范:

    统一用 UTF-8

    但问题是:

    Excel 默认不识别 UTF-8(无 BOM)

    所以你感觉“升级后坏了”。

    三、如何验证是不是编码问题(30秒确认)

    用记事本打开 CSV:

    如果看到中文正常 → 基本是 UTF-8
    如果记事本也乱码 → 另一个问题(但你这个概率很低)

    或者用 Notepad++:

    看右下角编码:

    UTF-8 / UTF-8 without BOM
    四、解决方法(按实用程度排序)
    方法1(最推荐):用 Excel“导入”,不要双击打开

    在 Excel:

    数据 → 从文本/CSV 导入

    然后选择:

    文件原始格式:UTF-8

    ✅ 中文立即正常

    方法2:给 CSV 加 BOM(最通用)

    Excel识别 UTF-8 的关键是:

    BOM(字节头)

    只要文件开头加:

    EF BB BF

    Excel 就会自动识别为 UTF-8。

    怎么做:
    方案A:用 Notepad++
    打开 CSV
    编码 → 转为 UTF-8 BOM
    保存
    方案B:让脚本写 BOM(最佳方案)

    如果 MCGS 支持脚本,可以在写文件时:

    先写入 BOM,再写数据
    方法3:改成 ANSI(GBK)导出

    如果 MCGS 支持编码设置(有些版本支持):

    CSV编码 = ANSI / GBK

    那 Excel 直接打开就没问题。

    方法4:用 Excel PowerQuery(企业常用)
    数据 → 获取数据 → 从文本

    手动选 UTF-8,适合批量处理。

    五、为什么会出现 “??” 而不是乱码汉字

    这个细节很关键:

    如果编码错,但还能映射 → 乱码汉字
    如果完全无法映射 → ??

    说明 Excel 根本没按 UTF-8 解析。

    六、你这个情况的本质

    可以总结为一句话:

    MCGS 写的是 UTF-8
    Excel 当成 GBK 读
    七、最推荐的现场解决方案

    如果是工程项目,我建议这样处理:

    ✔ 最省事

    教客户:

    用 Excel 导入 → 选 UTF-8
    ✔ 最专业(推荐)

    在导出脚本里:

    增加 UTF-8 BOM

    这样客户直接双击也正常。

    ✔ 最兼容

    改导出编码为:

    GBK(ANSI)

    但不够标准。

    八、不是固件 Bug

    你问:

    是不是 2026 新固件改了编码?

    可以这么理解:

    ✔ 很可能是 改成更规范的 UTF-8
    ❌ 不是 Bug

    只是 Excel 兼容性差。

    九、一个行业经验

    所有:

    HMI
    PLC 数据导出
    MES 数据

    只要遇到 CSV 中文问题:

    80%都是 UTF-8 vs GBK

    十、给你一个最快解决方案(不改程序)

    如果现在客户急用: