Dovrei usare mb_ * o funzioni iconv_ * per le stringhe multibyte?
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!
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