Questão caracteres pscp e UTF-8


Estou tendo problemas para copiar arquivos com caracteres UTF-8 usando o pscp no Windows. Estou usando a linha de comando para isso e o seguinte comando:

chcp 65001
pscp -scp -p -pw {pass} -batch "user@remote_host:/Справочник/file.txt" "E:\Справочник\file.txt"
scp: E:/??????????/file.txt: Cannot create file

Como mostrado, recebo scp: E:/??????????/file.txt: Cannot create file erro. Como posso transferir arquivos com caracteres UTF-8 em seu caminho?


1


origem


Берите из пути ? Não use no caminho ?  chcp 866 - STTR
Eu tenho que trabalhar com todos os personagens, não apenas cirílico. - matt
Use as fontes do console Lucida e chcp 65001 - STTR


Respostas:


Registro do aplicativo definindo a fonte UTF-8 (exemplo:cmd)

Use o caminho para pscp

Maneira-1, powershell:

Caminho do aplicativo, alterar \ para _:

AppUTF8Font.ps1:

$app='.\%SystemRoot%_system32_cmd.exe'
SL HKCU:\Console;NI $app;SL $app

New-ItemProperty . FaceName -t STRING -va "Lucida Console"
New-ItemProperty . FontFamily -t DWORD -va 0x00000036

enter image description here

É necessário permitir script de powershell local:

powershell -command "Set-ExecutionPolicy RemoteSigned"

E corra:

powershell .\AppUTF8Font.ps1

Caminho-2, reg-file:

Ou use reg-file:

REGEDIT4

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"FaceName"="Lucida Console"
"FontFamily"=dword:00000036

Linha de comando:

REG IMPORT Cmd_UTF8.reg

Excluir configuração reg-file:

REGEDIT4

[-HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]

Linha de comando:

REG IMPORT Cmd_UTF8_Delete.reg

0