[Rio-pm] Problemas com codificação de caracteres

Lucas Mateus lucasmateus.oliveira em gmail.com
Segunda Abril 13 13:18:33 PDT 2009


Talvez seja bem simples se vc configurar seu MySQL para UTF8.


#!/usr/bin/perl

use utf8;
no utf8;

@dados = &getDataMSAccess(); ## funcao que recupera dados do MS Access

foreach $data (@dados) {
    utf8::encode($data);
    &insetDataMySQL($data);  ## funcao que insere os dados no MySQL
}

__END__







On Mon, 13 Apr 2009 16:22:06 -0300, jimmy <ronaldo_tgz em yahoo.com.br> wrote:

> On Mon, Apr 13, 2009 at 04:01:27PM -0300, Henrique Ribeiro wrote:
>>    Caros monges,
>>
>>    Estou desenvolvendo um script boladão pra converter uma base de  
>> dados MS
>>    Access pra MySQL. Estou usando perl e já teria terminado a tarefa se  
>> os
>>    malditos caracteres com acento não estivessem todos estragados.
>>
>>    Quando eu abro o arquivo com a entrada do script no vim os acentos
>>    aparecem corretos, mas no perl não.
>>
>>    Eu acredito que seja um problema de codificação dos caracteres  
>> (utf-8 ou
>>    iso-8859-1, sei lá). Dei uma procurada no CPAN, mas não encontrei
>>    exatamente o que estava procurando.
>>
>>    ------------------------->8---------------------------------------------------
>>
>>    my @vetor = `mdb-export -H ponto.mdb C_FUNCIONAL`;
>>
>>    foreach ( @vetor ) {
>>            my @parts = split /,/;
>>            print "$parts[0],$parts[1]\n"; # Daqui saem os caracteres  
>> ruins
>>    #       $dbh->do ( "insert into tabela values ( \"$parts[0]\",
>>    \"$parts[1]\" );" );
>>    }
>>
>>    ------------------------->8---------------------------------------------------
>>
>>    Alguém tem alguma sugestão?
>>
>>    Obrigado,
>>    Henrique
>
> talvez essa entrada no wiki consiga lhe ajudar:
>
> http://www.perl.org.br/Artigos/ComoUsarUTF8EOutrosEncodingsEmPerl
>
>



-- 
Lucas Mateus
Núcleo de Páginas Rápidas e SEO
Fone: 55 11 3065-9978
MSN: lucasmateus_777 em hotmail.com


Mais detalhes sobre a lista de discussão Rio-pm