Eu tenho um script perl que produz saída utf8. Eu tentei usar Set-Content para escrever um arquivo utf8 como sugerido por Powershell anulando Perl binmode? .
perl -S testbinmode.pl | Set-Content "binmode.txt" -Encoding Byte
produz o erro
"Set-Content : Cannot proceed with byte encoding. When using byte encoding the content must be of type byte."
perl -S testbinmode.pl | Set-Content "binmode.txt" -Encoding UTF8
não produz uma mensagem de erro, mas também não escreve um arquivo utf8 correto.
A saída do script perl é exibida corretamente na janela do Powershell. Qual é a maneira correta de gravar essa saída em um arquivo codificado em utf8?
Obrigado.
Atualização: tenho visto muitas respostas para esse e outros problemas semelhantes, aqui no link mencionado acima, e em . Nenhum deles parece funcionar, levando-me a acreditar que nenhum deles foi realmente testado. Um método testado para redirecionar a saída de texto UTF8 de um programa CLI para um arquivo é desejado. Obrigado.
Aqui está o script de teste perl:
use strict;
use warnings;
use utf8;
binmode(STDOUT, ":utf8");
print("The Crüxshadows");
Tags unicode perl powershell