php - str_replace - strip_tags()
PHP mb_substr() no funciona correctamente? (2)
Este codigo
print mb_substr(''éxxx'', 0, 1);
imprime un espacio vacío :(
Se supone que debe imprimir el primer carácter, é
. Esto parece funcionar sin embargo:
print mb_substr(''éxxx'', 0, 2);
Pero no está bien, porque (0, 2) significa 2 caracteres ...
En la práctica, he encontrado que, en algunos sistemas, las funciones de múltiples bytes están predeterminadas según ISO-8859-1 para la codificación interna. Eso efectivamente arruina su capacidad para manejar texto de múltiples bytes.
Establecer un buen valor predeterminado probablemente solucionará este y otros problemas:
mb_internal_encoding(''UTF-8'');
Intente pasar el parámetro de codificación a mb_substr, como tal:
print mb_substr(''éxxx'', 0, 1, ''utf-8'');
La codificación nunca se detecta automáticamente.