Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 10-jun-2008, 13:44   #1 (permalink)
haga41 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2008
Mensajes: 70
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.
haga41 está desconectado   Responder Citando
Antiguo 10-jun-2008, 14:49   #2 (permalink)
jurena tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 820
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
jurena está desconectado   Responder Citando
Antiguo 10-jun-2008, 15:18   #3 (permalink)
haga41 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2008
Mensajes: 70
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;
}
?>
haga41 está desconectado   Responder Citando
Antiguo 10-jun-2008, 20:08   #4 (permalink)
Moderador NO Sabio
BrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy pronto
 
Avatar de BrujoNic
 
Fecha de Ingreso: noviembre-2002
Ubicación: Costa Rica/Nicaragua
Mensajes: 11.282
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
__________________
Orgulloso de ser latino y demostrar que si uno trata de escribir bien, los demás comprenderán lo que respondo.
¿Fácil verdad?
BrujoNic está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 23:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93