Se HTML maxlength é de 110, porque é que posso entrada 114 caracteres?
-
13-09-2019 - |
Pergunta
<input type="text" id="title" name="title" size="50" maxlength="110" />
Você vê, o maxlength é de 110, mas fiquei chocado quando descobri que a entrada I 114 caracteres quando eu usei
echo strlen($title);
Qualquer idéia?
A propósito, o que foi que eu de entrada texto em japonês . O que há de errado?
Solução
texto em japonês é provavelmente usando uma codificação de caracteres multibyte. Portanto, você deve fazer uso de mb_strlen () .
Os melhores cumprimentos, Fabian
Outras dicas
O que há de errado?
tratamento de string do PHP, que é baseado na suposição de que um personagem = 1 byte e deixa ao programador para tyke cuidado de codificações em todos os lugares e lembre-se de usar os mb_ mais recentes * funções sempre que lidar com cordas que podem utilizar a codificação multibyte .
maxlength é apenas um bloqueio navegador mas é bypassable em qualquer tipo de forma, incluindo pela codificação unicode. É melhor fornecer um controle do lado do servidor para este