JavaFree.org | RubyOnBr.org

ISO-8859-1 para UTF-8 (e vice versa)

Acompanhar ISO-8859-1 para UTF-8 (e vice versa) 11 posts, 5 participantes

Avatar Ronie Uliana 891 posts

Essa é uma resposta sem ninguém ter perguntado:

Como converter de ISO-8859-1 pra UTF-8?

Esse trecho aí em cima faz o truque :)
(nem precisa do iconv)

 
Avatar Shairon Toledo 1291 posts

Nossa Ronie valeu. Tive que executar o seu exemplo, não estava acreditando :→, bye bye iconv!!

 
Avatar Ronie Uliana 891 posts

Fuçando no fonte do RSS do standard lib do Ruby, achei como converter de UTF-8 para ISO-8859-1.

Coloquei na classe String, pra facilitar. Se quiser usar isso no Rails, basta colocar isso no seu diretório lib.

BTW: o Ruby compreende muito bem strings em UTF-8, inclusive em expressões regulares (apesar delas ficarem detonadas se você tenta exibir em console do Windows, nunca tentei no Linux)

 
Avatar Rilton 1 post

Amigos,
Não consegui achar essa classe String. Ela já existe no Ruby ou vc criou. Se existe, pode me passa o caminho?
Vlw

 
Avatar Fernando Luizao 402 posts

A classe String é padrão do Ruby… nesse código ele usa o conceito de “classes abertas” do ruby, ele reabre a classe String padrão e adiciona outros métodos.

 
Avatar Ronaldo Possan 52 posts

Apenas para reportar um “bug” que encontrei nos meus testes:

Se na string tiver um “;”, ele finaliza o processo, ignorando o que tiver pra frente, por exemplo;

Se alguém souber de um fix para isso, sem ter que usar um substring substituindo “;” por “,”, agradeço !

 
Avatar Fernando Luizao 402 posts

Aqui funcionou…

Qual versão do ruby vc está usando?

 
Avatar Ronaldo Possan 52 posts

Uso a versão do ruby 1.8.6
Por favor, verifique isso para mim, se não vouter que apelar para o Iconv. rs

 
Avatar Fernando Luizao 402 posts

Vc fez esse teste no irb ou no console do rails?

 
Avatar Ronaldo Possan 52 posts

Então, no meu IRB funcionou de boa, porém quando usei na aplicação acontece isso.

 
Avatar Fernando Luizao 402 posts

Dá uma olhada na variável $KCODE… aqui funciona tanto no irb quanto no console do Rails (2.2.2). Talvez a $KCODE não esteja como UTF8.