Domanda

Come tutti ormai, gestione delle stringhe multibyte non è così facile in PHP. Per esempio io voglio ottenere la lunghezza della stringa seguente: ä

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

Quali funzioni dovrei usare? Il mb_ * o * iconv_? Perché? Considerando che la codifica non può essere limitato a UTF-8.

Thx in anticipo!

È stato utile?

Soluzione

Date un'occhiata a questa presentazione Powerpoint:

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

In poche parole: Iconv supporta più codifiche, ma è meno portatile.

Dalla presentazione:

  

PHP supporta multi byte in due   estensioni: iconv e mbstring

     
      
  • iconv utilizza una libreria esterna (supporta più codifiche, ma meno   portatile)
  •   
  • mbstring ha la libreria in bundle con PHP (meno codifiche ma più   portatile)
  •   
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top