Windows PowerShell中Python3特殊字符显示方块问题求助
嘿,我之前在Windows PowerShell里处理多语言Unicode字符时也碰到过这种方块问题,大概率是控制台编码不匹配或者字体不支持特殊字符导致的,咱们一步步来解决:
解决Windows PowerShell中特殊字符显示方块的方案
1. 先统一PowerShell的控制台编码
Windows默认的PowerShell输出编码通常不是UTF-8,这会直接导致非ASCII字符显示异常。先在PowerShell里执行以下命令检查当前编码:
[Console]::OutputEncoding
如果返回的不是UTF-8,立刻把它改成UTF-8:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
改完之后再运行你的Python脚本,看看字符是否正常显示。
2. 切换到支持全Unicode的字体
很多PowerShell默认字体(比如Consolas)对生僻语言的Unicode字符支持有限,这时候需要换个合适的字体:
- 右键PowerShell窗口的标题栏,选择「属性」
- 切换到「字体」选项卡,选择Segoe UI、Noto Sans或者MS Gothic这类对多语言Unicode支持完善的字体(Noto Sans是谷歌出的,几乎覆盖所有语言字符)
- 点击确定后重启PowerShell,再运行脚本测试
3. 强制Python标准输出使用UTF-8(可选补充)
有时候即使控制台编码改了,Python的标准输出可能还是会有编码偏差,可以在你的脚本开头加上这两行,强制让输出用UTF-8:
import sys sys.stdout.reconfigure(encoding='utf-8')
这样能确保Python输出的编码和控制台的UTF-8编码完全匹配。
4. 确认文件本身的编码正确性
最后再检查一下languages.txt的编码:用Windows记事本打开文件,点击「文件」→「另存为」,看右下角的编码选项是不是「UTF-8」。如果是其他编码(比如ANSI),改成UTF-8后重新保存,再运行脚本。
按照这几步操作下来,那些特殊语言的字符应该就能正常显示了!
内容的提问来源于stack exchange,提问作者CuriousEinstein
相关产品推荐
相关产品推荐

