Desde que uso Eclipse me está dando unos problemas con los acentos que no acabo de comprender.
Mi página trabaja con la codificación iso-8859-1 tal y como está indicado en el charset del index.php. (que usa includes para cargar el resto de páginas)
Dentro del Eclipse, a los archivos les he aplicado la misma codificación en "propiedades".
Bien, pues resulta que usando una función que siempre me ha ido bien hasta ahora ya no consigo eliminar y cambiar los carateres con acentos en caracteres planos. (á = a)
El texto lo recibe en codificación ASCII desde la base de datos. Esto es lo que me marca la función mb_detect_encoding de PHP.
Le paso por los siguientes filtros sin resultados:
Código PHP:
//pasamos todo a minusculas
$articulo=strtolower($articulo);
$acentos="áéíóúñ";
$sinacentos="aeioun";
$articulo = strtr($articulo,$acentos,$sinacentos);
//sustituimos acentos por letras normales
$acentos=array('à','á','â','ã','ä', 'ç', 'è','é','ê','ë', 'ì','í','î','ï', 'ñ', 'ò','ó','ô','õ','ö', 'ù','ú','û','ü', 'ý','ÿ', 'À','Á','Â','Ã','Ä', 'Ç', 'È','É','Ê','Ë', 'Ì','Í','Î','Ï', 'Ñ', 'Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü', 'Ý');
$sinacentos= array('a','a','a','a','a', 'c', 'e','e','e','e', 'i','i','i','i', 'n', 'o','o','o','o','o', 'u','u','u','u', 'y','y', 'A','A','A','A','A', 'C', 'E','E','E','E', 'I','I','I','I', 'N', 'O','O','O','O','O', 'U','U','U','U', 'Y');
$articulo = str_replace( $acentos, $sinacentos, $articulo);
Por eso me he visto obligado a hacer una "chapuza" y usar htmlentities para luego hacer:
Código PHP:
$acentos=array('á', 'é', 'í', 'ó', 'ú');
$sinacentos= array('a', 'e', 'i', 'o', 'u');
$articulo = str_replace( $acentos, $sinacentos, $articulo);
He usado utf8_encode... en decode.. la funcion mb_convert_encoding, iconv... y nada, sin resultados...
Este Eclipse me está matando.
¿Alguna idea de por qué puede ser?