Ho un sito web wordpress.PHP: strlen restituisce la lunghezza del carattere anziché la lunghezza del byte
ho creato modello di pagina semplice come:
<?php
/**
* Template Name: Test
*/
echo strlen('Привет');
?>
Poi ho creato una pagina utilizzando questo modello. La pagina mostra la lunghezza della stringa russa 'Привет' (significa 'Ciao'). Mi aspetto di vedere 12, poiché la stringa russa con codifica UTF-8 composta da 6 caratteri dovrebbe avere una dimensione di 12 byte, ma io invece ne ottengo 6.
Ho provato la stessa cosa su un altro server e ho avuto il valore corretto - 12. Quindi penso che il motivo sia la configurazione del mio server. Ho wp 3.2.1 (ho avuto lo stesso problema dopo l'aggiornamento a wp 3.5.1) e PHP 5.3.3.
Attualmente ho trascorso circa 5 giorni cercando di trovare una soluzione, ma non ho fortuna. Qualcuno sa qual è la ragione di tale comportamento?
possibile duplicato di [Come ottengo i valori di byte di una stringa in PHP?] (http://stackoverflow.com/questions/591446/how-do-i- get-the-byte-values-of-a-string-in-php) – Neal
@Neal - questa domanda non ha niente a che fare con ord() –