[Cascavel-pm] Res: gerando arquivos tipo unix
Daniel Ruoso
daniel em ruoso.com
Quinta Janeiro 8 04:49:45 PST 2009
Em Qui, 2009-01-08 às 10:09 -0200, Elvio Barbalho escreveu:
> Estou falando sobre Conversão de Arquivos UTF-8 e ISO-8859-1
Bom, se o arquivo está sendo gerado em Perl, esse é o jeito errado de
resolver o seu problema. O que você precisa é definir o encoding de
saída na hora de abrir o arquivo:
open my $file, '>:utf8', 'saida.txt';
ou para definir um encoding diferente de utf8
open my $file, '>:encoding(iso8859-1)', 'saida.txt';
O mesmo se aplica para a leitura de arquivos
open my $file, '<:utf8', 'entrada.txt';
open my $file, '<:encoding(iso8859-1)', 'entrada.txt';
Ou, no caso de receber pelo STDIN e jogar para o STDOUT
binmode STDIN, ':encoding(iso8859-1)';
binmore STDOUT, ':utf8';
E o mesmo vale para qualquer filehandle.
Por último, se o seu código fonte estiver em utf8, não esqueça de fazer
use utf8;
para que as strings contidas no código fonte sejam interpretadas
corretamente.
Eu costumo dizer que, em Perl, se você estiver realizando conversões
explícitas é porque tem alguma coisa errada.
daniel
Mais detalhes sobre a lista de discussão Cascavel-pm