function JsonEncoding{
Param (
[string]$json
)
# $utf8 = [System.Text.Encoding]::GetEncoding(65001)
$iso88591 = [System.Text.Encoding]::GetEncoding(28591)
$wrong_bytes = $iso88591.GetBytes($json)
$right_string = [System.Text.Encoding]::UTF8.GetString($wrong_bytes)
$right_string
}
老實說處理PowerShell亂碼的文章真多,並且Bruce也早早寫有一勞永逸的作法,讓cmd、PowerShell等等都能自動套用UTF-8編碼:https://blog.kkbruce.net/2021/10/solved-console-garbled-code-for-win10-win11.html?m=1&fbclid=IwAR21Umo0_S8I35y1i2xSsOAIUzDJnRfeqf_G2vEjYdd4ks1aZRnnj3kYoUI
黑大也有直接匯出txt讓文字編輯器幫我們編碼的作法:https://blog.darkthread.net/blog/ps-encoding
會寫這篇文章是因為也是工作上情勢所逼,公司電腦或Production環境常常有限網域、限權限、、、限限限 什麼都限的時候,不可能在每一台VM都裝Postman或隨意依賴系統管理員做事情,好在跳版機和公司筆電都是Win環境,那就可以好好利用PowerShell裡面的library啦!