powershell竟然不支持utf-8编码,输出都是乱码?
两行搞定这个问题
第一行:打开powershell输入
notepad $PROFILE
装了vscode的敲下面的也行
code $PROFILE
在打开的文件中输入
[System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8
好了,重开一个powershell就好了。
大概说明一下:
powershell里不能再使用原来适用于cmd的chcp 65001来解决utf-8编码的问题,要是你搜到用chcp 65001,结果又没效果,是因为这个只能cmd用。
上面第二行代码的意思是把System.Console的输出编码和输入编码都改成系统文本文件编码和UTF-8,也就是同时支持两种。如果不想每次都生效,直接执行第二行也是可以的。
第一行则是使用notepad或者vscode打开powershell默认配置文件,这个配置文件里的内容每次powershell启动时都会自动执行一次。如果你想知道具体在什么位置,直接输入$PROFILE回车也行。
文章讲述了如何解决在Powershell中遇到的UTF-8编码输出乱码的困扰。通过修改Powershell配置文件,将System.Console的输出和输入编码设置为UTF-8,可以避免使用cmd的chcp65001命令无效的情况。这种方法包括使用Notepad或VSCode编辑$PROFILE文件,添加设定编码的代码行,并在启动时自动执行。

被折叠的 条评论
为什么被折叠?



