Asumiendo codificación UTF-8 y strlen() en PHP, ¿es posible que esta cadena tenga una longitud de 4?strlen() y codificación UTF-8
sólo me interesa saber sobre strlen(), no otras funciones
Esta es la cadena: $ 1�2
que he probado en mi propio ordenador, y me han verificado UTF -8 codificación, y la respuesta que obtengo es 6.
No veo nada en el manual de strlen ni nada que haya leído en UTF-8 que explique por qué algunos de los caracteres anteriores contarían por menos de una.
PD: Esta pregunta y respuesta (4) viene de una prueba de simulación para ZCE que compré en Ebay.
PPS: Por favor, tírame un hueso y vota esto. Hice mis deberes. Gracias de antemano por todas las respuestas y votos.
'strlen' cuenta bytes, no caracteres – Esailija
Los caracteres UTF-8 son caracteres multibyte, y cuentan como as-many-characters-as-they-are-long-in-bytes cuando se usa' strlen'. Use http://php.net/manual/en/function.mb-strlen.php para obtener los resultados esperados. –
Los caracteres codificados @RemcoOverdijk utf-8 pueden tener entre 1 y 6 bytes de longitud. – Esailija