Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2014, 10:44
rjulio21
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Problema con acentos mysql-php

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 original
  1. public static function codificarHTML($cadena) {
  2.         $arrAcentos = array (
  3.                 'á' => "á",
  4.                 'é' => 'é',
  5.                 'í' => 'í',
  6.                 'ó' => 'ó',
  7.                 'ú' => 'ú',
  8.                 'Á' => "Á",
  9.                 'É' => 'É',
  10.                 'Í' => 'Í',
  11.                 'Ó' => 'Ó',
  12.                 'Ú' => 'Ú',
  13.                 'Ñ' => "Ñ",
  14.                 'ñ' => "ñ",
  15.                 '¿' => '¿'
  16.         );
  17.         $cadena = explode ( " ", $cadena );
  18.         $arrCadena = array ();
  19.        
  20.         foreach ( $cadena as $valor ) {
  21.             $band = 0;
  22.             foreach ( $arrAcentos as $key => $value ) {
  23.                
  24.                 if (strpos ( $valor, $key ) !== false) {
  25.                     $valor = str_replace ( $key, $value, $valor );
  26.                     $band = 2;
  27.                 }
  28.             } // fin foreach interno
  29.             $arrCadena [] = trim ( $valor );
  30.         } // fin foreach
  31.         $cadenaFinal = implode ( " ", $arrCadena );
  32.         return $cadenaFinal;
  33.     } // 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.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos