19Apr/110
contare caratteri con umlaut con php
Non riuscivo a capire come mai uno stesso calcolo che comprendeva la misurazione dei caratteri componenti una stringa desse risultati diversi se eseguito in php o javascript. Dopo aver perso un sacco di tempo a verificare dove fosse l'incongruenza, scopro che strlen si prendeva gioco di me.
$string = "ÄÄüü"; echo strlen($string); //8!!
La umalut (e in generale tutti i caratteri multibyte) non viene letta come ci si aspetta.
Per ovviare a questo, usiamo utf8_decode
echo strlen(utf8_decode($string)); //4