Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/11/2014, 05:01
albertoshu
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Problema con acentos en php wordpress

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');

$cadenastr_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!!

Última edición por albertoshu; 21/11/2014 a las 07:03 Razón: clarificar la pregunta