mac系统需手动指定gbk/gb18030等编码才能正确打开中文txt文件:可设“文本编辑”全局默认编码为gb18030,或单文件临时选编码;终端需在偏好设置中启用中文编码;严重乱码时用iconv命令行转换。

Mac系统默认用UTF-8解析文本,但打开GBK、GB18030或Shift-JIS编码的TXT文件时,文字常显示为方块、问号或乱码,这是因为系统没按实际编码解码——必须手动指定或更改默认行为才能正确读取。
修改“文本编辑”全局默认打开编码
该设置影响所有新打开的纯文本文件,适合长期处理中文GB系列编码文档的用户。
第一步:打开“文本编辑”,点击顶部菜单栏【文本编辑 → 偏好设置】。
第二步:切换到“打开和存储”标签页,在“纯文本文件编码”区域找到“打开文件”下拉菜单。
第三步:从列表中选择【中文(GB 18030)】——这是兼容GBK、GB2312最稳妥的选项;若未显示,点下拉底部“自定编码列表”,勾选GB18030后确认。
第四步:关闭偏好设置,重新用“文本编辑”打开乱码TXT文件即可正常显示。注意:此设置不改变已打开文件的编码,仅对后续新打开操作生效。
为单个文件临时指定编码打开
当你不确定文件真实编码,或只打开一次、不想改全局设置时,这个方法最快捷且无副作用。
在“文本编辑”中点击【文件 → 打开】,选中目标TXT文件(不要点“打开”按钮)→ 点击窗口左下角齿轮图标“选项” → 在弹出面板中点击“纯文本编码”下拉菜单 → 依次尝试【中文(GBK)】→【中文(GB 18030)】→【Unicode (UTF-8)】,每选一项立即看预览区文字是否恢复原样 → 找到正确编码后点“打开”。
这一步不需要重启应用,也不影响其他文件,但每次打开新文件都得重复操作。
强制终端默认使用GBK/GB18030编码
如果你常在终端运行Python脚本、cat查看日志或用vim编辑Windows生成的TXT,而终端仍用UTF-8硬解GBK内容,就会输出字符——必须让终端本身支持并默认启用中文编码。
方法一:图形界面设置
打开“终端”→【终端 → 偏好设置】→ 点击“描述文件”→ 选中当前描述文件(如“Pro”)→ 点“高级”标签页 → 在“文本编码”下拉菜单中选择【中文(GBK)】或【中文(GB 18030)】→ 关闭偏好设置,新开终端窗口即生效。
方法二:命令行批量启用所有中文编码
打开终端,执行:
defaults write com.apple.Terminal "NSLanguages" -array-add "zh-Hans-CN"
然后进入【终端 → 偏好设置 → 编码】→ 点击“全部启用”按钮 → 重启终端。
注意:改完编码后,如果之前用UTF-8保存的脚本含中文注释,再用GBK模式打开可能变乱码,需反向转换或统一用UTF-8保存源码。
通过终端命令行直接转换文件编码
当“文本编辑”提示“无法以所选编码打开此文件”或双击根本打不开时,说明文件编码严重错位,只能靠底层命令修复。
打开终端 → 使用cd命令进入文件所在目录,例如cd ~/Downloads → 执行iconv命令:
iconv -f GBK -t UTF-8 input.txt > output.txt
其中-f参数必须填文件真实编码(可先用file -i input.txt粗略判断),-t推荐固定为UTF-8,便于后续通用处理;重定向>生成新文件,原文件不受影响。
若要批量转换当前目录所有GBK编码TXT文件,运行:
for f in *.txt; do iconv -f GBK -t UTF-8 "$f" > "utf8_${f}"; done











