Foros del Web » Programando para Internet » PHP »

caso extraño de acentos y caracteres especiales

Estas en el tema de caso extraño de acentos y caracteres especiales en el foro de PHP en Foros del Web. Hola! Ya sé que este tema se ha tratado anteriormente, y he buscado y he probado, y no ha funcionado ninguna solución que haya leído, ...
  #1 (permalink)  
Antiguo 06/04/2010, 18:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
caso extraño de acentos y caracteres especiales

Hola!

Ya sé que este tema se ha tratado anteriormente, y he buscado y he probado, y no ha funcionado ninguna solución que haya leído, así que por eso lo posteo, estoy un poco desesperada.

Hoy me he dado cuenta, al insertar, desde php, datos en la base de datos mysql, de que los acentos y otros caracteres especiales se grababan mal, pero mi sorpresa ha sido al ver que a todo el texto de la web entera le pasa lo mismo, se muestra con esa codificación, cuando ayer funcionaba todo perfecto.

Así que no tiene nada que ver con la base de datos. De hecho, hago un echo htmlentities("cuéntame"), y donde ayer me escribía cuéntame ahora escribe cuéntame.

He puesto header('Content-Type: text/html; charset=utf-8'); en todas mis paginas php, así como <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> en el html, también he guardado todos los archivos con codificacion UTF-8.
Y el cotejamiento de la base de datos, aunque supongo que no es muy relevante en este caso, es utf8_general_ci SIEMPRE.

Alguien me ayuda a solucionar esto???
  #2 (permalink)  
Antiguo 06/04/2010, 19:02
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: caso extraño de acentos y caracteres especiales

que tipo de carácteres tienes en la bbdd?
  #3 (permalink)  
Antiguo 06/04/2010, 19:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: caso extraño de acentos y caracteres especiales

el problema radica en el conjunto de caracteres con el cual guardaste el archivo...

verifica que sea del tipo que necesitas, en todo caso UTF-8 es muy recomendable.. ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 06/04/2010, 19:23
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: caso extraño de acentos y caracteres especiales

No se si te refieres a la codificacion o a los datos.
La base de datos y todas las tablas están cotejadas en utf8_general_ci. Y los datos entrados, pues datos normales, nada extraño... lo único especial son los acentos, es lo que se graba mal.

Pero no tiene nada que ver con la base de datos... no se de donde sale el problema, además me pasa en todos los navegadores que he probado (ie, firefox y chrome), así que tampoco es cosa del navegador....
  #5 (permalink)  
Antiguo 06/04/2010, 20:53
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: caso extraño de acentos y caracteres especiales

bueno hace tiempo me paso lo mismo y viendo el codigo de wordpress vi que lo hacian de esta manera:
Si ya revisaste tu base de datos y los registros estan bien intenta asi
Código PHP:
Ver original
  1. $charset = 'utf8';
  2. mysql_query("SET NAMES '{$charset}'";

Justo antes que cada consulta (en realidad esta en una clase pero la idea es la misma.)
saludos...

Última edición por ell3er; 06/04/2010 a las 21:00
  #6 (permalink)  
Antiguo 07/04/2010, 02:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 26
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: caso extraño de acentos y caracteres especiales

puedes usar lo siguiente, almenos yo asi lo hago y me funciona bien

Código PHP:

html_entity_decode
(nl2br($array_sql["textos"]));

//el html_entity_decode(); lo uso para los caracteres tipo &nbsp;

//y el nl2br() decta los saltos de linea 
si no me equivoco la funcion que tu usas htmlentities() es precisamente lo contrario, convierte los acentos y caracteres especiales en caracteres html, por eso te pinta lo que dices
  #7 (permalink)  
Antiguo 07/04/2010, 09:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: caso extraño de acentos y caracteres especiales

Hola, gracias a todos por responder.

En el post no lo puse, pero ya había añadido lo de mysql_query("SET NAMES 'utf8'");, y tampoco cambia nada.

Creo que no me he explicado bien, y os he confundido, pues el problema no tiene nada que ver con la base de datos.

Antes, cuando quería mostrar un texto con acentos en la web, por ejemplo: "Hoy es miércoles", podía poner echo htmlentities("<p>Hoy es miércoles</p>"), y escribía la frase bien codificada, es decir "<p>Hoy es mi&eacute;rcoles<p>", y es exactamente lo que quiero.
Ahora bien, si escribo en el código echo "<p>Hoy es miércoles</p>", el texto se ve bien, pero no estoy codificando los acentos (cosa que tengo entendido que tengo que hacer). Por eso uso htmlentities, pero ahora el resultado de htmlentities es otro que el que tenía hace dos días. Ahora en vez de <p>Hoy es mi&eacute;rcoles<p>, me escribe <p>mi&Atilde;&copy;rcoles<p>,y aparecen códigos extraños, y ese es el problema.
  #8 (permalink)  
Antiguo 07/04/2010, 10:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: caso extraño de acentos y caracteres especiales

debspain, me imagino que pasaste por alto lo que te comente... cierto??

Cita:
Iniciado por pateketrueke Ver Mensaje
el problema radica en el conjunto de caracteres con el cual guardaste el archivo...

verifica que sea del tipo que necesitas, en todo caso UTF-8 es muy recomendable.. ;)
y por cierto... me refiero el archivo -osea tu script- que modificas con algún editor obviamente...

ahora bien, si esto es correcto o no... también puedes usar las funciones de UTF-8 para de/codificar tus cadenas antes de manipularlas...

http://php.net/utf8_decode
http://php.net/utf8_encode
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 07/04/2010, 10:39
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: caso extraño de acentos y caracteres especiales

Cita:
Iniciado por debspain Ver Mensaje
.... también he guardado todos los archivos con codificacion UTF-8.
No lo pasé por alto, sólo es algo que ya había hecho, y seguía sin funcionar .

Por cierto, uso el notepad ++.

un echo utf8_encode("cuéntame"), me escribe el código html cuéntame, y yo veo en el navegador cuéntame.

un echo htmlentities("cuéntame"), me escribe el código html cu&Atilde;&copy;ntame, y yo veo en el navegador cuéntame.

No lo entiendo.. yo quiero que me escriba cu&eacute;ntame
  #10 (permalink)  
Antiguo 07/04/2010, 10:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: caso extraño de acentos y caracteres especiales

ya probaste con utf8_decode()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 07/04/2010, 10:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: caso extraño de acentos y caracteres especiales

utf8_decode("cuéntame") me devuelve cu�ntame.

Tienes idea de lo que puede estar pasando?
  #12 (permalink)  
Antiguo 07/04/2010, 10:59
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: caso extraño de acentos y caracteres especiales

vas a tener q trabajar con funciones mb_

como regla yo utilizo todo en utf-8, asi no perdes tiempo en codificaciones locas y demas todo lo q puedas configurar ponlo en utf8 y listo
__________________
Degiovanni Emilio
developtus.com
  #13 (permalink)  
Antiguo 07/04/2010, 11:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: caso extraño de acentos y caracteres especiales

Cita:
Iniciado por debspain Ver Mensaje
utf8_decode("cuéntame") me devuelve cu�ntame.

Tienes idea de lo que puede estar pasando?
si a partir de ahí usas htmlentities() ¿que sucede??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 07/04/2010, 11:37
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: caso extraño de acentos y caracteres especiales

ohhh gracias Pateketrueke!

la solución era htmlentities(utf8_decode("cuéntame")).

Muchísimas gracias!! Y a los demás también por responder!

Etiquetas: acentos, caracteres, especiales, extraño
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 21:56.