Buenas tardes gente,
Tengo un problema con los acentos guardados en base de datos que se me muestran como signos de interrogación y no se ven, tengo rato con esto y la verdad no veo la salida. ya he seguido varios temas que hablan al respecto, he probado las siguientes cosas:
1. cambie el character set de los campos (los he colocado en varios distintos para probar y en todos es lo mismo).
2. la base de datos esta en utf8_spanish_ci
3. Tengo la siguiente función en php para convertir los acentos:
Código PHP:
Ver originalpublic static function codificarHTML($cadena) {
'á' => "á",
'é' => 'é',
'í' => 'í',
'ó' => 'ó',
'ú' => 'ú',
'Á' => "Á",
'É' => 'É',
'Í' => 'Í',
'Ó' => 'Ó',
'Ú' => 'Ú',
'Ñ' => "Ñ",
'ñ' => "ñ",
'¿' => '¿'
);
$cadena = explode ( " ", $cadena );
foreach ( $cadena as $valor ) {
$band = 0;
foreach ( $arrAcentos as $key => $value ) {
if (strpos ( $valor, $key ) !== false) { $band = 2;
}
} // fin foreach interno
$arrCadena [] = trim ( $valor ); } // fin foreach
$cadenaFinal = implode ( " ", $arrCadena ); return $cadenaFinal;
} // fin función
ha esa función le paso las cadenas traidas de BD y deberia convertirme los acentos a el codigo HTML correspondiente, cabe acotar que esto ME FUNCIONA perfectamente con POSTGRESQL pero al intentar usarlo en mysql no entra en el if del strpos, como si no hubiera coincidencia de acentos y el navegador me muestra un signo de interrogación.
Muchas gracias a quien pueda ayudarme y a quien se tome un tiempo para leer también, pero no se q más probar.