Pregunta

Como todos ahora, el manejo de cadenas multibyte no es tan fácil en PHP. Por ejemplo, yo quiero obtener la longitud de la cadena siguiente: ä

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

¿Qué funciones debería usar? El mb_nogueira @ yahoo.com * o * iconv_? ¿Por qué? Teniendo en cuenta que la codificación no puede limitarse a UTF-8.

Thx por adelantado!

¿Fue útil?

Solución

Tener un vistazo a esta presentación en Powerpoint:

http://www.nyphp.org/content/ presentaciones / smallworld / April2006-NYPHP-Presentation.ppt

En pocas palabras: Iconv soporta más codificaciones, pero es menos portátil.

A partir de la presentación:

  

PHP soporta múltiples bytes en dos   extensiones: iconv y MBStrings

     
      
  • utiliza iconv una biblioteca externa (soporta más codificaciones pero menos   portable)
  •   
  • MBStrings tiene la biblioteca incorporada con PHP (menos pero más codificaciones   portable)
  •   
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top