In welcher Kodierung kann das Windows-Terminal chinesische und russische Zeichen aus einem in C++ geschriebenen Programm
Posted: 07 Jan 2025, 04:42
Weiß jemand, welche Codierung verwendet werden kann, um Befehle über eine von der CreatePipe-Methode erstellte Pipe an das Terminal zu senden? Befehle mit kyrillischen, russischen oder chinesischen Zeichen müssen an das Terminal gesendet werden. Das Terminal wird durch die Methode CreateProcessW erstellt. Zeichen werden in UTF-8-Kodierung an die Pipe gesendet. Ich kann nicht verstehen, warum bei Verwendung der UTF-8-Kodierung die Befehle im Terminal korrekt angezeigt werden, bei der Ausführung des Befehls jedoch die Zeichen falsch.
Code: Select all
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