Foros del Web » Programando para Internet » PHP »

Búsqueda php-mysql acentos, eñes , ampersand

Estas en el tema de Búsqueda php-mysql acentos, eñes , ampersand en el foro de PHP en Foros del Web. Buenas, tengo un editor de texto que me guarda en la BBDD, los acentos como son sus entidades reales es decir cása lo guarda como ...
  #1 (permalink)  
Antiguo 14/09/2009, 11:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 11 meses
Puntos: 6
Búsqueda php-mysql acentos, eñes , ampersand

Buenas, tengo un editor de texto que me guarda en la BBDD, los acentos como son sus entidades reales es decir cása lo guarda como c&aacute sa .. (saque el ; pr las dudas q me lo traduzca a cása).
Cuando hago una busqueda en mi base de la palabra "acu" me devuelve como resultados registros como "c&aacute sa" y no deberia... como puedo filtrar esto...
es el mismo tema para las Ñ que guarda como &ntilde o los & puros como &amp ...
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 14/09/2009, 11:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Búsqueda php-mysql acentos, eñes , ampersand

Ese es el problema de haberlas pasado como htmlentities debiste hacer uso de mysql_real_escape_string. Te sugiero que almacenes las información usando esta funcion que te indique ya que hacer una busqueda usando LIKE "%string%" siempre te va a traer todos los acu que existan. Si el editor ya viene de esa forma, usa html_entity_decode para convertirlas normalmente y luego usa mysql_real_escape_string para ingresar la informacion a la base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/09/2009, 12:50
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Búsqueda php-mysql acentos, eñes , ampersand

El tema es que si aplico html_entity_decode , al ingresar un texto <input type="text" />
por mas que utilize mysql_real_escape_string, luego al visualizarlo me muestra la caja de texto...
pense en hacer una funcion manual que convierta acentos , eñes . ampersand para se inserten tal cual y no como entidad html... otra cosa q se me ocurrio es al reves, antes de realizar la busqueda, si esciben á traducirlo a &aacute... nose q otra solucion puede haber...
Yo no aplico htmlentities antes de insertar nunca... lo hara el tinymce con los elementos que no puse en la lista de validos... otra solucion seria decirle a este editor que las eñes , acentos y eso no los traduzca pero no encontre manera de hacerlo...
gracias por la ayuda...
pd: aprovechando el post tengo otro incoveniente, al hacer una busqueda LIKE %'Ñ'% me devuelve resultados que no contienen ñ ... si busco caño si filtra bien , pero con la eñe sola no.. a q se debe¿

Última edición por turfeano; 14/09/2009 a las 12:59
  #4 (permalink)  
Antiguo 14/09/2009, 13:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Búsqueda php-mysql acentos, eñes , ampersand

Lo que te decia no era para que publicaras la información en la pagina sino para que la pudieras pasar a la base de datos. pero como tambien estas pasando <....> en todo caso te sugiero que hagas un str_replace de las letras que quieres convertir.

Para la segunda te sugiero pasar por el foro de MySQL, alla te podran indicar mejor. Y por si acaso es '%Ñ%' no %'Ñ'%
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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 12:13.