Lambança
Publicado em Developer
Se alguém visitou o blog entre ontem e hoje, deve ter visto mensagens mutcho locas ou nem viu nada. O motivo foi que a Dreamhost atualizou a versão do Rails para a 1.2.3 e sabe-se lá por que (se alguém souber deixe um comentário por favor!) essa versão (levando em conta todos os gems também) não gosta de caracteres ISO-8859-1 em lugar algum, o que levou a vários problemas.
O Apache da Dreamhost roda aparentemente (agora já não sei de mais nada e estou de cabeça quente) com o ISO-8859-1, o que nunca me deu problema algum. Mas, fora a parte da apresentação que se recusava a ficar em ISO-8859-1 e apresentava uns caracteres estranhos na tela, o que foi resolvido com um before_filter ajustando os headers (deêm uma olhada de dicas sobre isso aqui), os modelos começaram a dar problemas, por causa das mensagens de validação!!!
Aqui no blog mesmo, os comentários tem algumas mensagens engraçadinhas para fazer validação, e um simples "dã" ferrou com a aplicação toda. Sabe Deus o que mexeram lá, estava sendo interpretado ou como um final de linha ou como algum caracter maluco e ferrando com todo o resto. Parece que tem a ver com alguma coisa do ActiveSupport, mas não estou com muito tempo para debugar o bicho agora não, e preferi fazer uma solução mais rápida. Tirei toda a acentuação dos modelos e controladores, trocando o "dã", por exemplo, para "dã", e parece que voltou tudo ao normal.
Mas eu fico me perguntando que diabos que aprontaram ali para passar a apresentar esse comportamento. Tá certo que existe um certo concenso no UTF-8, mas se funcionava bem antes, o que será que aconteceu agora? De qualquer maneira, vou ficar mais esperto com isso.
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Pessoal. Eu tive exatamente o mesmo erro que vocês.
A minha solução foi salvar novamente os arquivos que estavam com problema no encoding UTF8. Aí resolveu o problema do modelo e também das mensagem mais "explícitas" em código.
Bom, eu não consegui ver esse problema, talvez eles ainda nao tenham atualizado a minha maquina na dream host, o problema da codifiçao entre ajax e um server side é que vc precisa codificar para enviar, a não ser que vc envie um cabecalho de codificacao primeiro, mas em geral uso utf8_encode no php para enviar meus ajax:
ex. na dreamhost phanatic.site4.com.br ( em desenvolvimento mas todo css e ajax ) ainda nao deu pal hehehe e espero que não de ja que pelo visto ta sendo em cascata o efeito.
Bom, essa história de UTF e ISO é sempre complicada... Até onde eu sei existe (ou existia) um problema com o AJAX e o Rails tb... Acho que não está tudo muito certo ainda, então eles devem estar arrumando (espero).
Sobre a Dreamhost, sou cliente a pouco tempo e nunca tive problemas, mas te garanto que não pode ser pior que a brasileira maxihost. Só pra você ter noção eles rodam o Rails como development e não oferecem nem ssh (como você usa rake? sei lá...), e o pior é que é mais cara que a DreamHost, por isso que migrei meu blog.
Bom, boa sorte com os caractes acetuados ainda... Eu ainda estou complexado porque meu linux fazia acento agudo no c e não ç até um tmepo atrás...
Rafael,
É, eles avisaram dia 15, mas não pensei que fosse dar uma zica justamente nas gems do Rails (como desconfio desse problema de acentos no ActiveSupport), e sim em alguma outra "extra" instalada. Como não estou usando mais nenhuma outra "extra", estava até sossegado, mas agora vou montar um ambientezinho de testes para testar até essas "padrões" quando tiver alguma mudança. Cuidado na hora do unfreeze. ;-)
Eles avisaram no blog que iriam atualizar o Rails e recomendaram que todos fizessem o freeze de versão, eu fiz aqui e aparentemente tá tudo normal em uma aplicação que eu rodo :)
Hehe chefinho, nas minhas duas contas aqui na dreamhost as aplicações pararam de funcionar, tomei um baita susto, afinal ainda sou novato em rails.
E alias, as duas ainda estão com a acentuação zoneada, isso logo depois que por causa da incompatibilidade com o UTF-8 aqui, eu atualizei tudo nas minhas maquinas para ISO-8859-1 só pra num ter problema com a dreamhost :(, agora acho que vou ter que fazer o inverso de novo.
Depois troco uma idéia com voce ai ...
Abraço, T+
Alfredo
Não sei, algumas vezes acho que o povo de hosting é um pouco relaxado... pq não pegam um servidor em separado, copiam tudo que está hospedado, e testam com as versões novas dos softwares (ou ao menos pedem para que quem esteja interessado em migrar teste)?
TaQ, deve ser algo contagioso (http://raelcunha.com/packages/blog/pages/index.tpl.php?post=111), e olha que o meu tá em PHP.
Só para desencargo de consciência vou inserir um comentário para ver se está tudo ok. Tem os testes mas depois desse trupé todo quero ver para crer. ;-)