ISO-8859-1 para UTF-8 (e vice versa)
|
|
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 :) |
|
|
Nossa Ronie valeu. Tive que executar o seu exemplo, não estava acreditando :→, bye bye iconv!! |
|
|
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) |
|
|
Amigos, |
|
|
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. |
|
|
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 ! |
|
|
Aqui funcionou… Qual versão do ruby vc está usando? |
|
|
Uso a versão do ruby 1.8.6 |
|
|
Vc fez esse teste no irb ou no console do rails? |
|
|
Então, no meu IRB funcionou de boa, porém quando usei na aplicação acontece isso. |
|
|
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. |

