Devo usar mb_ * ou iconv_ * funções para cordas de vários bytes?
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!
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