Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/03/2008, 04:03
DarkJ
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: preg_replace no hace lo que debe??

strtolower() normalmente no pasa a minusculas los caracteres acentuados, viene en el manual la razon (un tema de LOCALE y demas).

Dependiendo de donde estes cogiendo los datos que pasas a la funcion, puede que no estes recibiendo los datos en la misma codificacion de caracteres en la que esta el fichero php, con lo que puede que el caracter ó en el fichero se represente por unos bytes distintos al caracter ó que recibes y pasas a la funcion. No son iguales a nivel binario. Es todo un lio de codificaciones de caracteres, UTF, ISO, etc. Quizas tu fichero esta en ISO, pero tu recibes el texto de una pagina codificada como UTF8.

Todo este lio de la internacionalizacion es el gran dolor de cabeza con PHP, creo que a partir de PHP6 van a facilitar la vida a los programadores.