Pergunta

Como todos nós agora, lidar com cordas de vários bytes que não é fácil em PHP. Por exemplo, eu quero começar o comprimento da seguinte cadeia: ä

strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1

Quais as funções que eu deveria usar? Os mb_ * ou iconv_ *? Por quê? Considerando-se que a codificação não pode ser limitado a UTF-8.

Thx com antecedência!

Foi útil?

Solução

Tenha um olhar para esta apresentação Powerpoint:

http://www.nyphp.org/content/ apresentações / smallworld / April2006-nyphp-Presentation.ppt

Em poucas palavras: Iconv suporta mais codificações, mas é menos portátil.

A partir da apresentação:

PHP suporta multi byte em dois extensões: iconv e mbstring

  • iconv usa uma biblioteca externa (suporta mais codificações, mas menos portátil)
  • mbstring tem a biblioteca conjunto com o PHP (menos codificações, mas mais portátil)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top