Foros del Web » Programando para Internet » PHP »

Problema codificación símbolo euro (€)

Estas en el tema de Problema codificación símbolo euro (€) en el foro de PHP en Foros del Web. Hola, tengo un problema con la codificación del € (euro). Me aparece con un signo de pregunta (?), es el único caracter que no se ...
  #1 (permalink)  
Antiguo 07/04/2009, 20:47
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Problema codificación símbolo euro (€)

Hola, tengo un problema con la codificación del € (euro). Me aparece con un signo de pregunta (?), es el único caracter que no se ve correctamente. Que puede ser?

Lo muestro así:

echo htmlentities(utf8_decode($_POST['campo']));

Saludos.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #2 (permalink)  
Antiguo 07/04/2009, 20:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema codificación símbolo euro (€)

Que codificacion tiene tu base de datos? Que codificacion tiene tu archivo?
  #3 (permalink)  
Antiguo 08/04/2009, 18:33
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Respuesta: Problema codificación símbolo euro (€)

Hola Ronruby, gracias por responder dejo algunos screenshoot y códigos:











Archivo donde ingreso el titulo:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

</head>
<body>

<form name="form" action="procesa_agregar_anuncio.php" method="post" target="iframeForm">

<label for="titulo">Titulo</label>
<input type="text" name="titulo" id="titulo" size="50" />

...


Archivo que agrega el titulo a la base de datos:

<?

$titulo = $_POST['titulo'];


mysql_query("UPDATE anuncios SET
titulo = ".mysql_escape($titulo).",

...




La función mysql_escape:



function mysql_escape($val) {

$val = utf8_decode(trim($val));

if (get_magic_quotes_gpc()) $val = stripslashes($val);

$f = (function_exists('mysql_real_escape_string')) ? "mysql_real_escape_string" : ((function_exists('mysql_escape_string')) ? "mysql_escape_string" : "addslashes");

return (!is_numeric($val)) ? "'".$f($val)."'" : $val;

}



Archivo donde muestro el titulo:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

</head>
<body>

<?

$titulo = htmlentities($row2['titulo']);

echo $titulo;

...
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #4 (permalink)  
Antiguo 09/04/2009, 22:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema codificación símbolo euro (€)

Yo para mis bases de datos utilizo utf8_spanish_ci, coloco el charset como UTF-8 en la etiqueta <meta>, guardo los archivos en UTF-8 sin BOM usando Notepad++ y siempre paso los datos por utf8_encode() antes de insertarlos a la base de datos.

EDIT: Sino usa "& # 8 3 6 4 ;" (sin los espacios) para insertar el caracter de €

Última edición por Ronruby; 09/04/2009 a las 22:44
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 23:21.