Вы можете сделать что-то вроде следующего:
$dstEncoding = [System.Text.Encoding]::GetEncoding('iso-8859-15')
$srcEncoding = [System.Text.Encoding]::Default
$result = $dstEncoding.GetString([System.Text.Encoding]::Convert($srcEncoding,$dstEncoding,$srcEncoding.GetBytes($messageToSend)))
Вы в основном конвертируете байты текущих закодированных символов в кодировку назначения. Наконец, вам нужно получить строку преобразованных байтов.
Проблема в том, что если кодировка по умолчанию не поддерживает все символы, уже содержащиеся в $messageToSend
, даже если кодировка будет правильной, данные выиграютне бытьТак что это зависит от того, как $messageToSend
был создан.
[System.Text.Encoding]::Default
- кодировка активной кодовой страницы. Это может варьироваться в разных системах.