Pergunta

Ou seja, se estou codificando algo inteiramente no PHP4? Ou talvez eu deva usar uma função ou classe/extensão personalizada para contar o número de caracteres em uma string multibyte?

A única diferença que posso detectar é que o mb_string retira seqüências ruins, enquanto o iconv_stlen não.

Foi útil?

Solução

Se você deseja uma substituição para o Strlen simples, use mb_stlen, pois sempre retorna um int. Isso é muito discutível (a correção de Iconv sobre a tolerância de MB), mas na prática a tolerância de falhas de MB_Strlen me serviu melhor. Apenas certifique -se de configurar o MB para a codificação desejada em Php.ini ou em um local central em seu aplicativo.

O suporte do Unicode no PHP está em um lugar ruim, você deve estar ciente de muitas armadilhas e exceções. Tendo feito uma mudança completa de vários aplicativos grandes e seus dados do usuário para o UTF-8, eu poderia chorar por você um rio.

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