Domanda

Cioè, se sto codificando qualcosa interamente in PHP4?O forse dovrei usare invece una funzione personalizzata o una classe/estensione per contare il numero di caratteri in una stringa multibyte?

L'unica differenza che riesco a notare è che mb_string elimina le sequenze errate, mentre iconv_strlen no.

È stato utile?

Soluzione

Se vuoi un sostituto immediato per il semplice strlen, usa mb_strlen poiché restituisce sempre un int.Questo è però molto discutibile (la correttezza di iconv rispetto alla tolleranza di mb), ma in pratica la tolleranza agli errori di mb_strlen mi è stata più utile.Assicurati solo di configurare mb sulla codifica desiderata in php.ini o in una posizione centrale nella tua applicazione.

Il supporto Unicode in PHP è in una brutta posizione, bisogna essere consapevoli di molte insidie ​​ed eccezioni.Avendo effettuato un passaggio completo di diverse applicazioni di grandi dimensioni e dei relativi dati utente a UTF-8, potrei piangere a dirotto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top