Windows CMD下Pino Pretty无法正确渲染重音字符的问题及解决方法
Windows CMD下Pino Pretty无法正确渲染重音字符的问题及解决方法
我之前在Node.js + TypeScript项目里用Pino搭配Pino-Pretty打日志时,刚好碰到和你一样的问题——带重音的字符(比如ç、ã、é这些)在Windows CMD里显示得一塌糊涂!
举个例子,我写的日志代码是这样的:
logger.info("Olá, Lucas! Teste de acentuação: ç, ã, é, à, ó");
结果CMD里输出成了:
Ol├í, Lucas! Teste de acentua├º├úo: ├í ├® ├¡ ├│ ├║ ├º ├ú ├Á
我特意排查了很久,确认这根本不是Pino或者Pino-Pretty的问题,纯粹是终端编码不兼容导致的。
🔧 永久解决方法
要让CMD默认使用UTF-8编码,只需修改注册表来设置自动执行命令:
- 按下Win+R输入
regedit打开注册表编辑器 - 导航到路径:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor - 右键点击右侧空白区域 → 新建 → 字符串值(葡萄牙语界面显示为“Valor de Cadeia”)
- 把这个新值命名为
AutoRun - 双击
AutoRun,将它的数值数据设置为:chcp 65001
这样设置之后,每次你打开CMD,它都会自动切换到UTF-8编码(代码页65001),再看Pino的日志,那些重音字符就都能正常显示啦!
内容来源于stack exchange
相关产品推荐
相关产品推荐

