Hola a todos,
Tengo un problema con los dichosos
acentos en
Wordpress que llevo una semana intentando solucionar y no doy con ello por mucho que busco en foros y pruebas que hago.
Básicamente, las funciones php que uso, no localizan los acentos en cadenas que vienen de la base de datos.
Pongo un ejemplo: Supongamos que tengo la cadena "
cañón máximo" metido en la base de datos y tengo el siguiente código:
Código PHP:
$cadena=obtener_cada_base_de_datos();
echo quitar_acentos($cadena);
// muestra la misma cadena:"cañon máximo";
// no encuentra ni acentos ni ñ.
function quitar_acentos($cadena){
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
$repl = array('a', 'e', 'i', 'o', 'u', 'n');
$cadena= str_replace ($find, $repl, $cadena);
reurn $cadena;
}
La función anterior no encuentra los acentos, y por tanto, no me hace ningún cambio en la cada. Entonces, ¿
que tengo que poner el array "$find" para que encuentre los acentos?
La configuración que tengo en la base de datos es ( he probado distintas combinaciones, pero arreglo una cosa y se estropeo otra (p.e. los acentos en html deja de verse)):
- archivo WP_CONFIG.PHP: define('DB_CHARSET', 'utf8');
- head HTML: <meta charset="utf-8">
- MySql:
- Base de datos: utf8_general_ci
- Tabla:utf8_general_ci
- Campo:utf8_general_ci
Por otra parte he visto que es un problema de WordPress, pus si trato de hacer esto fuera de wordpress no hay problema.
Bueno a ver si alguien me ilumina o me da alguna pista.
Muchas Gracias a todos!!