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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top