Foros del Web » Programando para Internet » PHP »

Charset y Cotejamiento No Sacan Signo de Euro de MYSql

Estas en el tema de Charset y Cotejamiento No Sacan Signo de Euro de MYSql en el foro de PHP en Foros del Web. buenas tardes, llevo dandole vueltas pero no logro imprimir un signo de Euro que tengo en la base de datos. La tabla de Mysql esta ...
  #1 (permalink)  
Antiguo 11/10/2012, 07:54
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 16 años
Puntos: 26
Charset y Cotejamiento No Sacan Signo de Euro de MYSql

buenas tardes, llevo dandole vueltas pero no logro imprimir un signo de Euro que tengo en la base de datos.

La tabla de Mysql esta en UTF8_general_ci
En el archivo a imprimir los resultados tengo el meta-conten con charset utf-8

He intentado con las funciones de uft8_decode, utf8_encode de PHP pero aun asi no he logrado que se muestre el signo del euro que tengo en la base de datos (este signo es parte de una cadena que lleva la letra ñ).

He intentado con el siguiente header:

header('Content-Type: text/html; charset=iso-8859-1');

Con esto la cadena me sale todo bien, incluido el Signo, el problema es que ya el resto del contenido de la pagina me sale con errores, por que estan en UTF.

Alguien me puede ayudar, por si acaso tambien he usado otras funciones de php, tales como iconv y mb_convert_encoding, pero aun asi, no logro con esto.

Creanme que he intentado todo ya desde la mañana, y como muchas veces mi ultimo recurso es buscar ayuda, por lo cual estoy agradecido.

Este es un pequeño codigo donde lo escrito en el archivo me sale bien, pero lo sacado de Mysql no sale bien:

Código PHP:
Ver original
  1. $ver = mysql_query("SELECT s_title FROM clasi_t_item_description WHERE fk_i_item_id=8606");
  2.     $ver = mysql_fetch_assoc($ver);
  3.     $ver = $ver[s_title];
  4.     $b = utf8_encode($ver);
  5.     $p = "España es de euro € média";
  6.  
  7.  
  8.     echo $p;
  9.     echo "<br/>";
  10.     echo $b;

Con esto la variable $p me devuelve bien con acentos, letras ñ y signo del euro, pero la variable $b me devuelve también con todo excepto con el signo del Euro.

Saludos.
  #2 (permalink)  
Antiguo 11/10/2012, 08:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Charset y Cotejamiento No Sacan Signo de Euro de MYSql

Tema OFF TOPIC de MySQL.
Muevo a Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/10/2012, 10:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Charset y Cotejamiento No Sacan Signo de Euro de MYSql

Pregunta:
En lugar de usar utf8_encode(), ¿no correspondería utf8_decode()?

Mi duda es que según el manual de PHP, utf8_encode() convierte de iso-8859-1 a UTF8, mientras que utf8_decode() lo hace de a la inversa. Entonces si la base te devuelve UTF-8...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 11/10/2012, 11:12
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 16 años
Puntos: 26
Respuesta: Charset y Cotejamiento No Sacan Signo de Euro de MYSql

Ya, ahi esta el problema, que lo he intentado con ambos pero ninguno me da el resultado para poder mostrar el signo del Euro.

Solo en caso de que use un header con ISO me sale:

header('Content-Type: text/html; charset=iso-8859-1');

el problema es que si pongo eso entre mis codigos, el 80% de la paginas salen con errores en el contenido, y no puedo usar eso solo para el signo del Euro.

Etiquetas: charset, cotejamiento, euro, mysql, select, signo, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:49.