Foros del Web » Programando para Internet » PHP »

Problemas con caracteres especiales de bases de datos de mysql

Estas en el tema de Problemas con caracteres especiales de bases de datos de mysql en el foro de PHP en Foros del Web. Saludos a todos, Estoy pasando un proyecto de ASP a PHP y hasta ahora no he tenido demasiados problemas, el caso es que al mostrar ...
  #1 (permalink)  
Antiguo 10/06/2008, 13:44
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 15 años, 10 meses
Puntos: 0
Problemas con caracteres especiales de bases de datos de mysql

Saludos a todos,

Estoy pasando un proyecto de ASP a PHP y hasta ahora no he tenido demasiados problemas, el caso es que al mostrar los datos de las bases de datos de mysql los acentos y las eñes se meustran con caracteres especiales.

Me paso algo parecido en ASP y la gente del foro de ASP me ayudó con la orden <%Response.CharSet = "utf-8"%>

Después configure todas las páginas del Dreamweaver en las preferencias el UTF-8 en nuevo documento para que me cogiese todo bien por defecto, mis paginas de PHP estan configuradas así pero los caracteres se ven mal.

Los campos son de tipo texto, aunque también tengo algunso de tipo varchar.

Agradecería mucho cualquier consejo.
  #2 (permalink)  
Antiguo 10/06/2008, 14:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problemas con caracteres especiales de bases de datos de mysql

En PHP escribes mysql_query ("SET NAMES 'utf8'") justo tras la conexión con la base de datos y antes de la consulta...

$link = mysql_connect ('localhost', 'root', 'tuclave');
if (!$link){
echo 'error al conectar';
die;
}
$bd = mysql_select_db('tubase');
if (!$bd){
echo 'error al seleccionar la base de datos';
die;
}
mysql_query ("SET NAMES 'utf8'"); //esto es lo importante
  #3 (permalink)  
Antiguo 10/06/2008, 15:18
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problemas con caracteres especiales de bases de datos de mysql

Hola jurena, gracias por tu consejo, he intentado aplicarlo al código que tengo y de momento sigue mostrando los caracteres especiales. Te lo muestro por si puedes ver donde está mi fallo ya que es algo diferente que el tuyo.

Este es el archivo php principal:

<?php

include ("includes/funciones.php");
$idcnx = conectar();
$sql = "SELECT id,titular,fecha FROM noticias ORDER by fecha ASC";
$res = mysql_query($sql) or die(mysql_error());
mysql_query ("SET NAMES 'utf8'");
echo "<ol>";
while($fila = mysql_fetch_array($res)){

$fecha = $fila['fecha'];

echo "<li><a class='menupruebas' href='pnoticia_detalle.php?id=" .$fila['id'] . "' >" . $fila['titular'] ."<span class='rojofondo'> (";
echo strftime("%d/%m/%Y", strtotime($fecha));
echo ")</span></li>";

}
?>
</ol>
<?
mysql_free_result($res);
mysql_close($idcnx);
?>

Y este es el archivo con la funcion conectar donde he intentado aplicar lo que me has dicho, el código es algo distinto al tuyo:

<?
function conectar(){
global $HOSTNAME,$USERNAME,$PASSWORD,$DATABASE;
$DATABASE = "motos";
$idcnx = mysql_connect($HOSTNAME, $USERNAME, $PASSWORD) or die(mysql_error());
mysql_select_db($DATABASE, $idcnx);
mysql_query ("SET NAMES 'utf8'");
return $idcnx;
}
?>
  #4 (permalink)  
Antiguo 10/06/2008, 20:08
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Problemas con caracteres especiales de bases de datos de mysql

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:19.