Erro com Zend_Form e htmlspecialchars()

11abr09

Assim que comecei a trabalhar com Zend_Form experimentei um erro com htmlspecialchars(), que me tomou algumas longas horas para identificar e gostaria de compartilhar a solução (simples, rápida e fácil).
A mensagem de erro era a seguinte:

Warning: htmlspecialchars() [function.htmlspecialchars]: charset `utf8′ not supported, assuming iso-8859-1 in C:\app\lib\Zend\View\Abstract.php on line 837

Isso aconteceu com a versão 1.7.7 e 1.8.0 do ZF.
Ok, o passo-a-passo da resolução do problema foi:
1 – PHP.net, função htmlspecialchars(), pode assumir como valor do seu terceiro parâmetro, a string ‘UTF-8’
2 – Fui até C:\app\lib\Zend\View\Abstract.php on line 837
return call_user_func($this->_escape, $var, ENT_COMPAT, $this->_encoding);
Onde $this->_encoding é setado na linha 851, e de fato estava setando ‘utf8’ ao invés de ‘UTF-8’
3 – Fui até o arquivo de configurações da minha aplicação e reparei que a mesma config de charset que estava utilizando na conexão com o banco ‘utf8’ (exigido desta forma pelo PDO), estava também sendo usado para o htmlspecialchars()
4 – Criei outra constante no config da aplicação voltada para atender ao charset da aplicação como um todo, e pronto. Funcionou.



No Responses Yet to “Erro com Zend_Form e htmlspecialchars()”

  1. Deixe um comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: