Foros del Web » Programando para Internet » PHP »

Ayuda, los acentos me aparecen como '?'

Estas en el tema de Ayuda, los acentos me aparecen como '?' en el foro de PHP en Foros del Web. Hola a todos los del foro, tengo un gran problema con los acentos, tengo un base de datos en un servidor, y estoy mandando llamar ...
  #1 (permalink)  
Antiguo 03/05/2006, 12:40
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Ayuda, los acentos me aparecen como '?'

Hola a todos los del foro, tengo un gran problema con los acentos, tengo un base de datos en un servidor, y estoy mandando llamar registros desde otro servidor, el problema es que cuando los mando llamar, no me aparecen los acentos los cambia por signos de ?, busque en el foro algo relacionado, pero no encuentro como resolver esto, espero que alguien me pueda ayudar, ya que necesito resolver este problema, de antemano muchas gracias a todos, esto estoy usando al iniciar el html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

y tambien trate con

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


saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com

Última edición por chidomen; 03/05/2006 a las 13:28 Razón: cambio de info
  #2 (permalink)  
Antiguo 03/05/2006, 13:42
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
disculpa, pero no entiendo tu respuesta


saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #3 (permalink)  
Antiguo 03/05/2006, 13:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Habría que averigüar donde está el problema . .me refiero a que el tema pasa por una "mala" o diferente "char-set" entre lo que tu cliente (navegador) quiere ver, la página HTML que generas para tal fin y lo que PHP procesa, además de lo que realmente esté almacenado en tu BBDD.

En PHP puedes probar la función:

uft8_decode() aplicada al dato que lees de tu BBDD ..

Deja el charset de HTML en iso-8859-1 (que es el "Latin1").

También revisa tu BBDD y definición de tabla para ver que "colation" usa .. debería decir "Latin1" (esto depende de la versión de Mysql: asumo que usas Mysql? si puedes modificarlo o no ..)

Una prueba "simple" para descartar problemas sería:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
Esto es sólo HTML .. observa los acéntós<br>
<?
$variable
="Esto es sólo PHP .. observa los acéntós";
echo 
$variable."<br>";

// y luego haces una consulta SQL a tu BBDD y obtienes el dato . .ejemplo:
echo $row['campo'];
?>
</body>
</html>
Por lo menos así descartaras y veras centrado el problema con tu "charset" . .veras quien lo origina .. El HTML (Cabeceras), PHP o tu BBDD.

Por cierto .. "Apache" (si es que usas ese servidor HTTP) tiene por defecto su charset .. puedes ajustarlo en el httpd.conf al iso-nosecuantos-x (por qué por defecto es utf8 creo? .. ahora no recuerdo). Así no tendrías que aplicar un "utf8_decode()" siempre a cada dato.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 03/05/2006, 13:55
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Estoy averiguando lo que me comentas,
como puedo saber que colation esta usando la base de datos, no uso phpadmin si es que ahi lo puedo ver,

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #5 (permalink)  
Antiguo 03/05/2006, 13:58
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Al hacer la prueba con el codigo de PHP este es el resultado:

Esto es sólo HTML .. observa los ac�nt�s
Esto es s�lo PHP .. observa los ac�nt�s

y en el resultado del query, siguen apareciendo los caracteres como ?

Saludos

creo que
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #6 (permalink)  
Antiguo 03/05/2006, 14:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si copiastes esto (que es lo que se vé):


Esto es s& #243;lo HTML .. observa los acéntós<br>

El primer acento "funciona" por qué se aplicó un "HTMLentities" (lo hizo el "foro"?) ... (www.php.net/htmlentities) .. Pero la "codificación" de tu página debería funcionar.

Prueba la función que te indiqué: utf8_decode() aplicada a la variable PHP.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 03/05/2006, 14:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por chidomen
Estoy averiguando lo que me comentas,
como puedo saber que colation esta usando la base de datos, no uso phpadmin si es que ahi lo puedo ver,

saludos
Eso es parte de las propiedades de la tabla.

No usas ningún administrador de Mysql? .. Bueno . .puedes ejecutar una consulta SQL tipo:

SHOW COLLATION

Para ver las combinaciones que puedes disponer (por cierto es "collation" me comí una L (ups!))

También tienes:

SHOW CHARACTER SET

Y para ver las propiedades de una tabla en concreto (su sintax es):
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']


La mayoría de estos comandos son limitados en su ejecución .. tal vez no tengas permisos para ejecutar ese tipo de consultas SQL.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 03/05/2006, 14:51
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola,

Use utf8_decode() en la variable, pero no me resuelve el problema, encontre un un script para que me mostrara las propiedades, pero no me aparecen 'collation', no se que es lo que este haciendo mal, este es el script

$result = mysql_query("SHOW TABLE STATUS FROM diariodigital;");
while($array = mysql_fetch_array($result)) {
$total = $array[Data_length]+$array[Index_length];
echo '
Table: '.$array[Name].'<br />
Data Size: '.$array[Data_length].'<br />
Index Size: '.$array[Index_length].'<br />
Total Size: '.$total.'<br />
Total Rows: '.$array[Rows].'<br />
Collation: '.$array[Collation].'<br />
Average Size Per Row: '.$array[Avg_row_length].'<br /><br />
';
}

pero no me resuelve nada, este es el link del resultado
http://mundial.ayalavilla.com/estructura.php

que mas puedo hacer, para saber el tipo de collation que usa?

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #9 (permalink)  
Antiguo 03/05/2006, 14:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por chidomen
Hola,

Use utf8_decode() en la variable, pero no me resuelve el problema, encontre un un script para que me mostrara las propiedades, pero no me aparecen 'collation', no se que es lo que este haciendo mal, este es el script

$result = mysql_query("SHOW TABLE STATUS FROM diariodigital;");
while($array = mysql_fetch_array($result)) {
$total = $array[Data_length]+$array[Index_length];
echo '
Table: '.$array[Name].'<br />
Data Size: '.$array[Data_length].'<br />
Index Size: '.$array[Index_length].'<br />
Total Size: '.$total.'<br />
Total Rows: '.$array[Rows].'<br />
Collation: '.$array[Collation].'<br />
Average Size Per Row: '.$array[Avg_row_length].'<br /><br />
';
}

pero no me resuelve nada, este es el link del resultado
http://mundial.ayalavilla.com/estructura.php

que mas puedo hacer, para saber el tipo de collation que usa?

saludos
El "Collation" es una propiedad de no sé que versión de Mysql en adelante (4.1.x en adelante creo? ..) No sé que versión de Mysql usas pero revisalo en el manual oficial de Mysql: www.mysql.com

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 03/05/2006, 15:55
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
La version que estoy usando es 4.0.18
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #11 (permalink)  
Antiguo 03/05/2006, 16:24
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Revise el httpd.conf del servidor, se poco de esto, pero encontre que en donde estan los lenguajes no aparece AddLanguage iso-8859-1 .latin, tendra algo que ver esto en el problema que tengo?


saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #12 (permalink)  
Antiguo 04/05/2006, 06:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si, .. eso son los "charset" que tu servidor HTTP maneja ... además de esto puedes "forzar" a cierto charset por defecto (por si tu no lo indicas expresamente en las páginas que generas).

Concretamente en Apache dicha directiva que "fuerza" ese tema es:
AddDefaultCharset ISO-8859-1

( y debería quedar así).

También tendras que tener la correspondiente entrada en:
AddCharset ISO-8859-1 .iso8859-1 .latin1

Si te fijas en el própio httpd.conf .. ahí en ese tema hace un comentario de donde sacar esos "charset" si por A o B motivo no los tienes:

Cita:
#
# Commonly used filename extensions to character sets. You probably
# want to avoid clashes with the language extensions, unless you
# are good at carefully testing your setup after each change.
# See ftp://ftp.isi.edu/in-notes/iana/assi...character-sets for
# the official list of charset names and their respective RFCs
#
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 04/05/2006, 08:54
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias por la informacion
espero poder solucionar este problema


saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
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:53.