Foros del Web » Programando para Internet » PHP »

Problema con caracteres

Estas en el tema de Problema con caracteres en el foro de PHP en Foros del Web. Tengo un problema bastante raro, coloco el código y ya lo explico: Palabra1="información"; $Palabra2="informaci&oacute;n"; str_ireplace($Palabra2,"<span style='background-color: #88AAEE'>$Palabra1</span>",html_entity_decode($row["Norma"])) Este código lo único que hace es resaltar ...
  #1 (permalink)  
Antiguo 17/09/2014, 16:52
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 21 años, 1 mes
Puntos: 0
Problema con caracteres

Tengo un problema bastante raro, coloco el código y ya lo explico:

Palabra1="información";
$Palabra2="informaci&oacute;n";

str_ireplace($Palabra2,"<span style='background-color: #88AAEE'>$Palabra1</span>",html_entity_decode($row["Norma"]))


Este código lo único que hace es resaltar una palabra que introduzco en un buscador, el problema es que como aparece no funciona, pero si hago el siguiente cambio:

str_ireplace("informaci&oacute;n","<span style='background-color: #88AAEE'>$Palabra1</span>",html_entity_decode($row["Norma"]))

Cambie $Palabra2 directamente por la palabra y si funciona...
Imprimi $Palabra2 ey es exactamente esta: informaci&oacute;n sin espacios ni adelante ni atras...

Que puede estar pasando? esto es muy raro?

Saludos!!
  #2 (permalink)  
Antiguo 17/09/2014, 16:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con caracteres

Cita:
Que puede estar pasando? esto es muy raro?
Por lo general son temas de encoding, el encoding del dato que extraes de la BD v.s. el enconding mismo del archivo que estás programando.

Si no coinciden he ahí el problema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/09/2014, 10:55
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Problema con caracteres

Cita:
Iniciado por pateketrueke Ver Mensaje
Por lo general son temas de encoding, el encoding del dato que extraes de la BD v.s. el enconding mismo del archivo que estás programando.

Si no coinciden he ahí el problema.
Lo raro es que imprimo en pantalla y los dos son exactamente iguales, la verdad esto ya me lleva un rato y no se que pueda ser...

Gracias.
  #4 (permalink)  
Antiguo 19/09/2014, 12:02
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: Problema con caracteres

Comprueba el encoding de tu procesador de textos con el que trabajes, y fijate que cumpla el estándar, esto me paso a mi también cuando programaba en un notepad++ y lo pasaba a un procesador de textos de Linux, la codificación cambiaba sin yo querer :( .

Ese era mi problema, así que te aconsejo que te fijes en la codificación que tengas en el editor
Saludos
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #5 (permalink)  
Antiguo 19/09/2014, 21:32
Avatar de apacheJack  
Fecha de Ingreso: septiembre-2014
Ubicación: Valencia
Mensajes: 6
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Problema con caracteres

Lo mejor es que uses codificación UTF8 cuando trabajes, te quitará muchos problemas:
  • En tu editor
  • En tu base de datos (tanto en las consultas, como en la estructura de tus campos de texto)
  • Asegúrate de que todos los archivos antiguos la usen
  • Declarar la codificación en el HTML es buena idea también
  • Y ya por sí las dudas, fuerza al lenguaje de servidor que uses a utilizarla
  • ¡Ojo si usas librerías de terceros! No siempre están en UTF8. Solo cámbiales la codificación.

Además, esto te va a ahorrar tener que estar trabajando con las &aacute; y demás historias. Qué mejor que poner tranquilamente acentos, eñes y demás carácteres?

Etiquetas: caracteres, html
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 13:56.