Кто-нибудь знает, какую кодировку можно использовать для отправки команд на терминал через канал, созданный методом CreatePipe? На терминал необходимо отправлять команды, содержащие кириллические, русские или китайские символы. Терминал создается методом CreateProcessW. Символы отправляются в канал в кодировке UTF-8. Не могу понять, почему при использовании кодировки UTF-8 команды в терминале отображаются корректно, а при выполнении команды символы отображаются некорректно.
PS C:\Users\Forty\AppData\Roaming\TerminalsThisWay> chcp 65001
Active code page: 65001
PS C:\Users\Forty\AppData\Roaming\TerminalsThisWay> cd "D:\Кухонный дед"
cd : Cannot find path 'D:\╨Ъ╤Г╤Е╨╛╨╜╨╜╤Л╨╣ ╨┤╨╡╨┤' because it does not exist.
At line:1 char:1
+ cd "D:\╨Ъ╤Г╤Е╨╛╨╜╨╜╤Л╨╣ ╨┤╨╡╨┤"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\╨Ъ╤Г╤Е╨╛╨╜╨╜╤Л╨╣ ╨┤╨╡╨┤:String) [Set-Location], ItemNotFoundExceptio
n
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
PS C:\Users\Forty\AppData\Roaming\TerminalsThisWay> cd "D:\错误写入通道"
cd : Cannot find path 'D:\щФЩшппхЖЩхЕещАЪщБУ' because it does not exist.
At line:1 char:1
+ cd "D:\щФЩшппхЖЩхЕещАЪщБУ"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\щФЩшппхЖЩхЕещАЪщБУ:String) [Set-Location], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
Подробнее здесь: https://stackoverflow.com/questions/793 ... characters
В какой кодировке терминал Windows может принимать китайские и русские символы из программы, написанной на C++? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение