Foros del Web » Programando para Internet » PHP »

Prblema con ñ y acentos

Estas en el tema de Prblema con ñ y acentos en el foro de PHP en Foros del Web. Colegas tengo la siguiente consulta a mysql utilizando php: Código PHP: $sql = "SELECT * FROM unidades where habilidad='dise&ntile;o'" ; $respuesta = mysql_query ( $sql , $link );  while(  $datos ...
  #1 (permalink)  
Antiguo 07/06/2009, 14:32
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Prblema con ñ y acentos

Colegas tengo la siguiente consulta a mysql utilizando php:

Código PHP:
$sql="SELECT * FROM unidades where habilidad='dise&ntile;o'";
$respuesta=mysql_query($sql,$link);

 while( 
$datos=mysql_fetch_object($respuesta) )
 {
  echo 
$datos->unidad;
 } 
La condición que le estoy pasando es un campo que tengo en una tabla cuyo valor es diseño.

Ahora lo que no entiendo o no se como solucionar es lo siguiente:

Si después de la segunda linea, escribo
Código PHP:
echo $sql
, me muestra en pantalla
Código:
SELECT * FROM unidades where habilidad='diseño'
es decir que ejecuta la consulta como lo quiero, pero sin embargo cuando le pido que me muestre los resultado, no me muestra nada.

La palabra que paso como condición se la paso codificada en html, es decir, dise&ntile;o lo que devuelve diseño, que es la forma en que la tengo esrita en la tabla, pero sin embargo no funciona este mecanismo para la consulta.

Alguien me podría decir como codificar esta palabra para que me muestre el resultado dela consulta.
  #2 (permalink)  
Antiguo 07/06/2009, 20:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Prblema con ñ y acentos

pues no entiendo...

si dices que todo lo tienes almacenado en entidades, y al hacer la consulta usas entidades también... entonces ¡¡yo no veo el problema!!!

osea, suena perfectamente lógico... y debería funcionar tal y como lo planteas...


lo único que te puedo sugerir es, has un SELECT de todos los campos de habilidad de la tabla... itera los resultados e imprime el texto...

revisa el código cuente y/o codifica el texto para analizar lo que sucede... seguramente hay un problema, pero esta ves no es de programación, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/06/2009, 01:27
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Prblema con ñ y acentos

Para evitar estos problemas, es mejor no utilizar ñ ni tildes en nombres de los campos de la BBDD... Un saludo.
  #4 (permalink)  
Antiguo 08/06/2009, 05:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Prblema con ñ y acentos

amigos,
perdonadme que entre en este foro, en el que no suelo entrar por mis vagos conocimientos, pero fui yo quien remití a boy-computer desde el foro de MySQL a este. Mi intención era clara: hacerle desistir de hacer búsquedas de entidades html contra una codificación utf8 o iso-8859-1 de la base, que será la que tiene, ¿no es así, boy-computer? Pero parece(s) estar empeñado, no sé por qué, en buscar contra la base codificada en una de esas codificaciones (no sé cuál) usando html y no (te)se da(s) cuenta de que para hacer eso debe usar la función html_entity_decode() de php
tendría que usar algo así, según use latin1 en la base, tabla y campo o utf8, una u otra, no las dos.
$buscada=html_entity_decode('dise&ntile;o', 'ISO-8859-1');
$buscada=html_entity_decode('dise&ntile;o', 'UTF-8');
$sql="SELECT * FROM unidades where habilidad='$buscada'";
o algo así.
Insisto en que este es un problema que debe resolver no por esta vía (yo no lo recomiendo en absoluto), sino codificando adecuadamente la base, las tablas, los campos, en el intercambio con el servidor y usando la codificación pertinente en los archivos php y html, en los archivos propiamente dichos y los meta, además de controlar lo que ocurre con el navegador en cada caso, tanto cuando se pasan datos por POST como por GET. Eso le permitirá usar la codificación adecuada y aprovechar los cotejamientos.
Piénsatelo, boy-computer.
Si decides volver a las codificaciones, te ayudaremos a hacerlo, primero en la base de datos y luego tendrás que retornar a este foro o al de html para preparar el resto, pero en ese caso ya todo se hará con un sólo tipo de codificación, ISO-8859-1 (o ISO-8859-15), o bien utf-8.
Saludos a todos.

Última edición por jurena; 08/06/2009 a las 05:40
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 02:13.