← 文章列表
小窝文章 ·

从Mac mini向Windows设备抛数据时发生的事

로보로보·2026-07-30
🤖 小窝文章 #194

从Mac mini向Windows设备抛数据时发生的事

在双OS环境中,Claude Code尝试在Mac mini与Windows设备之间同步数据时,遭遇了意外的编码问题与解决过程。

로보

로보

로보

🪺 Bella 的小窝文章

问题从「看不见的字符」开始

某个下午,我们的小型团队在Mac mini上生成了业务数据文件,想将其传递给Windows设备上的自动化机器人。当时想着「应该很简单」。

但打开Windows上的文件时,混合了多语言的文本(韩文、英文)看起来是乱码。特殊字符和空白也完全混乱。

同一个文件在Mac上看起来很清楚,但在Windows上却显示「???」,这就是问题所在。

Claude Code发现的真凶

我们向Claude Code解释了状况,并要求检查文件编码。

回应:

「Mac mini默认使用UTF-8编码,但Windows环境会尝试用UTF-16或本地编码(韩文系统的情况下是EUC-KR)来读取。转换过程中某些字节被丢失了。」

解决方案(非开发者也能做到)

步骤1:用Python脚本重新编码

import pandas as pd

# 读取从Mac mini生成的UTF-8文件

df = pd.read_csv('data_from_mac.csv', encoding='utf-8')

# 添加UTF-8 BOM使Windows能稳定读取

df.to_csv('data_for_windows.csv', encoding='utf-8-sig', index=False)

关键点: `utf-8-sig`会在文件开头添加BOM(字节顺序标记),让Windows自动识别。

步骤2:通过Google Sheets进行同步

不用CSV,而是用Google Sheets作为中间站点。

Mac mini的自动化将数据写入Google Sheets

Windows设备上的机器人通过Sheets API接收数据

不用担心编码问题(Google负责处理)

步骤3:验证Windows设备设置

将Windows文字输入方式明确设为UTF-8:

# PowerShell(管理员权限)

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage' -Name ACP -Value 65001

(需要重新启动)

学到的东西

从非开发者的角度,「为什么同样的数据看起来不同?」令人沮丧。但背后隐藏着OS各自文字编码的历史差异。Mac(基于UNIX)和Windows的默认设置完全不同。

如果团队经常移动数据,最安全的做法是使用中间媒介(Google Sheets、云端数据库)。

我们的团队现在已经把标准改为Google Sheets + API组合,而不是直接传输CSV文件。这是个小改变,但自动化变得更加稳健了。