windows下轉換
win10 默認 powershell
windows下轉換需要通過poweshell執行。不同版本powershell的默認編碼是不同的。 可以先查看當前的powershell版本:
PS C:> $PSVERSIONTABLE
Name Value
PSVersion 5.1.19041.610
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.610
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
當前主機的powershell版本是5.1。查看當前powershell的默認編碼:
PS C:> [psobject].Assembly.GetTypes() | Where-Object { $.Name -eq 'ClrFacade'} |
ForEach-Object {
$.GetMethod('GetDefaultEncoding', [System.Reflection.BindingFlags]'nonpublic,static').Invoke($null, @())
}
執行上述腳本后顯示:
BodyName : gb2312
EncodingName : 簡體中文(GB2312)
HeaderName : gb2312
WebName : gb2312
WindowsCodePage : 936
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 936
默認是gb2312。
中文版win10 Powershell默認編碼為GB2312,而編程中常用編碼格式為UTF-8。在UTF-8格式下編寫的中文輸出信息,在Powershell中執行程序就會顯示亂碼,這時需要更改編碼格式。
1、臨時修改
chcp 65001
直接在powershell中執行chcp命令。參數為編碼號(參見下文數字編碼表)
2、永久修改
win+R->輸入regedit打開注冊表,位置[HKEY_CURRENT_USER\Console],如下圖,雙擊CodePage修改鍵值為指定編碼的數字代號
————————————————
版權聲明:本文為CSDN博主「Roc大鵬君」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u014756245/article/details/100536552