批处理文件特殊字符适配:需目标符号的CMD对应字符映射
CMD 与记事本 Unicode 字符映射解决方案
针对你遇到的「记事本Unicode编码写入特殊字符,批处理运行时CMD显示乱码」的问题,核心原因是CMD默认使用OEM代码页(如437/850),而Unicode编码的文件会被CMD错误解析为当前代码页字符。下面直接给出你需要的目标符号映射关系,以及最优解决方法:
目标符号映射表(记事本Unicode → CMD显示)
以下基于CMD默认的OEM 437代码页整理:
- █(Alt+219):记事本输入
█(U+2588)→ CMD显示█(需保存为ANSI编码;若用UTF-8保存,需输入Û(U+00DB)才能在CMD显示█) - ▄(Alt+220):记事本输入
▄(U+2584)→ CMD显示▄(ANSI保存);UTF-8保存需输入Ü(U+00DC) - ▌(Alt+221):记事本输入
▌(U+258C)→ CMD显示▌(ANSI保存);UTF-8保存需输入Ý(U+00DD) - ▐(Alt+222):记事本输入
▐(U+2590)→ CMD显示▐(ANSI保存);UTF-8保存需输入Þ(U+00DE) - ▀(Alt+223):记事本输入
▀(U+2580)→ CMD显示▀(ANSI保存);UTF-8保存需输入ß(U+00DF) - ♥(Alt+3):记事本输入
♥(U+2665)→ CMD显示♥(ANSI保存;UTF-8保存会显示控制字符,不推荐) - •(Alt+7):记事本输入
•(U+2022)→ CMD显示•(ANSI保存;UTF-8保存会显示控制字符,不推荐) - ►(Alt+16):记事本输入
►(U+25BA)→ CMD显示►(ANSI保存;UTF-8保存会显示控制字符,不推荐) - ◄(Alt+17):记事本输入
◄(U+25C4)→ CMD显示◄(ANSI保存;UTF-8保存会显示控制字符,不推荐) - ▲(Alt+30):记事本输入
▲(U+25B2)→ CMD显示▲(ANSI保存;UTF-8保存会显示控制字符,不推荐) - ▼(Alt+31):记事本输入
▼(U+25BC)→ CMD显示▼(ANSI保存;UTF-8保存会显示控制字符,不推荐) - Φ(Alt+232):记事本输入
Φ(U+03A6)→ CMD显示Φ(ANSI保存;UTF-8保存需输入è(U+00E8))
最优解决方法
最稳妥的方式是放弃Unicode保存,改用ANSI编码保存批处理文件:
- 在记事本中直接输入目标符号(比如用Alt+数字键输入,或复制粘贴)
- 点击「文件」→「另存为」
- 在「编码」下拉菜单选择「ANSI」,保存文件
- 运行批处理,CMD会直接正确显示所有符号
如果必须使用Unicode编码,可在批处理开头添加chcp 65001切换CMD到UTF-8代码页,但部分特殊符号可能仍存在显示问题,因此优先推荐ANSI保存方案。
内容的提问来源于stack exchange,提问作者Andrei Filip




