The Problem Started with 'Invisible Characters'
One afternoon, our small team generated a business data file on Mac mini and wanted to pass it to an automation bot on a Windows device. We thought, "This should be simple."
But when we opened the file on Windows, the mixed-language text (Korean and English) appeared as gibberish. Special characters and spaces were also completely mangled.
The same file looked clean on Mac, but displayed as "???" on Windows. That was the issue.
What Claude Code Discovered
We explained the situation to Claude Code and asked it to check the file encoding.
Response:
「Mac mini uses UTF-8 encoding by default, but Windows tries to read it with UTF-16 or local encoding (EUC-KR for Korean systems). Some bytes are being lost in the conversion process.」
Solution (Non-developers Can Do This Too)
Step 1: Re-encode with Python Script
import pandas as pd
# Read the UTF-8 file generated from Mac mini
df = pd.read_csv('data_from_mac.csv', encoding='utf-8')
# Add UTF-8 BOM so Windows reads it reliably
df.to_csv('data_for_windows.csv', encoding='utf-8-sig', index=False)
Key Point: `utf-8-sig` adds a BOM (Byte Order Mark) at the start of the file so Windows automatically recognizes it.
Step 2: Sync via Google Sheets
Instead of CSV files, we used Google Sheets as the intermediary.
• Mac mini automation writes data to Google Sheets
• Windows device bot receives data through Sheets API
• No encoding worries (Google handles it)
Step 3: Verify Windows Device Settings
Set Windows text input to explicitly use UTF-8:
# PowerShell (admin rights)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage' -Name ACP -Value 65001
(Reboot required)
What We Learned
From a non-developer's perspective, "Why does the same data look different?" was frustrating. But behind it lay historical differences in OS character encoding defaults. Mac (UNIX-based) and Windows have completely different default settings.
If your team moves data frequently, the safest approach is using an intermediary (Google Sheets, cloud database).
Our team now uses Google Sheets + API as the standard instead of direct CSV transfers. It's a small change, but our automation became much more robust.