Entregando conteúdo não-UTF8 na minha aplicação Rails apropriadamente

votos
2

Tenho uma aplicação Rails que permite aos usuários importar informações de várias fontes usando feeds RSS e tal. Meu codificação padrão no banco de dados é UTF8 e eu tenho recebido um monte de exceções em relação aos dados não-UTF8 que está chegando através do sistema e que deixam de funcionar uma vez que atinge o banco de dados.

Estou para detectar adequadamente os dados não-UTF8 usando o is_utf8? Método sobre os atributos antes de uma gravação é feito, mas eu não vim com uma forma de lidar com isso. Eu vi iconv para converter, mas parece que exige ser capaz de determinar que tipo de codificação que eu estou convertendo de.

Existe uma maneira simples de fazer uma conversão palpite ou possivelmente apenas retirar os caracteres não-UTF8 e faça o salvar no banco de dados?

Obrigado!

Publicado 04/02/2009 em 19:57
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Iconv é seu amigo quando se trata de mudar codificações. Para detectar codificações há uma pequena jóia disponíveis: rchardet Temos utilizado para detectar codificações asiáticos em uma tentativa de bloquear o spam e funcionou muito bem.

Respondeu 04/02/2009 em 20:59
fonte usuário

votos
1

Como os dados não-UTF-8 tornando-se no sistema? Certifique-se de todas as suas páginas são servidos como Content-Type text / html; charset = utf-8 e navegadores sempre enviar dados UTF-8 aos seus formulários.

(Claro que ainda deixa as coisas como e-mail e arquivos enviados, mas muitos desses tipos de contexto específico, muitas vezes dar-lhe uma codificação para ir adiante.)

Respondeu 04/02/2009 em 21:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more