- « Resolvendo Erro Could not Configure Windows
- Perdeu a senha de root do Ubuntu? Saiba como recuperá-la »
PHP: Mudanças nas funções htmlspecialchars() e htmlentities()
Desde a versão 5.4 do PHP, as funções htmlspecialchars() e htmlentities() passaram por um refactoring e tiveram grandes porções internas de código reescritas. Além de melhorias e correções de bugs, o terceiro parâmetro destas funções (que até então tinha como default ISO-8859-1), passou a ser UTF-8, refletindo o encoding usado pela maioria das aplicações.
Entretanto, alguns cuidados devem ser adotados, principalmente por quem ainda utiliza PHP sobre bases de dados ISO-8859-1. Ao utilizar uma dessas funções sobre uma string ISO com caracteres acentuados, o retorno (que antes funcionava), agora passa a ser vazio (string vazia).
Para testar, basta digitar o conteúdo a seguir e salvar em um arquivo ISO. Você verá que o retorno será string vazia.
PHP
<?php | |
var_dump(htmlspecialchars( 'São Paulo')); | |
?> |
Como dito anteriormente, o encoding padrão aguardado por estas funções passou a ser UTF-8. Assim, quando você utilizar essas funções com uma string que não está em UTF-8, deverá indicar o encoding como parâmetro, como no exemplo a seguir.
PHP
<?php | |
var_dump(htmlspecialchars( 'São Paulo', 0, "iso-8859-1")); | |
?> |
Nenhum Comentário ainda
Carregando formulário...