Foros del Web » Programando para Internet » PHP »

¿Por qué pasa esto? ¿Cómo lo corrijo?

Estas en el tema de ¿Por qué pasa esto? ¿Cómo lo corrijo? en el foro de PHP en Foros del Web. estoy recogiendo datos en un formulario que envio a una BD: Código PHP: <td width="100" class="tbltext"><textarea class="frm1" name="features" rows="7"> <?php  echo  replace_quotes ( str_replace ( "<br>" , "\n" , $features ...
  #1 (permalink)  
Antiguo 04/08/2007, 16:31
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
¿Por qué pasa esto? ¿Cómo lo corrijo?

estoy recogiendo datos en un formulario que envio a una BD:

Código PHP:
<td width="100" class="tbltext"><textarea class="frm1" name="features" rows="7"><?php echo replace_quotes(str_replace("<br>","\n",$features)) ?></textarea></td>
El problema es, si el usuario tipea la viñeta "•" o "ñ", cando leo estos datos o los imprimo, en la pagina aparece: " • " para "•" y "ñ" para la "ñ".

Por que pasa esto señores? como lo puedo arreglar!!??

Gracias por vuestr ayuda!!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.

Última edición por SI TAN SOLO TUVIERA; 04/08/2007 a las 18:26
  #2 (permalink)  
Antiguo 05/08/2007, 09:27
Avatar de k4k4  
Fecha de Ingreso: junio-2007
Ubicación: Baja California, México
Mensajes: 120
Antigüedad: 16 años, 10 meses
Puntos: 6
Re: ¿Por qué pasa esto? ¿Cómo lo corrijo?

Hola,

hmm, muy básicamente, tienes 2 opciones: empezar a usar utf8 o una función como htmlentities. utf8 te permite usar ñ y áéíóú sin tener que convertirlas a sus equivalencias en entidades de html como &ntilde; x.x O puedes checar como se evita este problema en foros como este u otras aplicaciones open source.

Saludos.
  #3 (permalink)  
Antiguo 05/08/2007, 13:06
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: ¿Por qué pasa esto? ¿Cómo lo corrijo?

Gracias k4, voy a buscar a ver que encuentro! porque sinceramente no entiendo mucho de que me hablas o como lo aplico.

Pensandolo bien, antes tenia la web en un servidor donde no tenia este problema, pero hace poco me cambie a los servidores de godaddy y desde ahi estoy teniendo este problema.

Sabes si eso de que me hablas es algo que pueda configurar en el php.ini? con godaddy uno tiene acceso a cambiarlo.

Gracias!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #4 (permalink)  
Antiguo 05/08/2007, 13:25
Avatar de k4k4  
Fecha de Ingreso: junio-2007
Ubicación: Baja California, México
Mensajes: 120
Antigüedad: 16 años, 10 meses
Puntos: 6
Re: ¿Por qué pasa esto? ¿Cómo lo corrijo?

yo también estoy en godaddy, lo que hago es tener todo en utf8, la base de datos, las plantillas, los archivos php, y en mi html tengo el charset de utf8. Esto con motivos de internacionalización.

Sin embargo, puedes arreglarlo rapidamente usando htmlentities. Ya probaste con esta función?
  #5 (permalink)  
Antiguo 05/08/2007, 13:59
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: ¿Por qué pasa esto? ¿Cómo lo corrijo?

Como sabes o haces para tener todo en UTF8? no estoy familiarizado con este tema.

Y probe el htmlentities, pero lo que hizo fue que me imprimio todas las etiquetas html

Código PHP:
<?= htmlentities($comments?>
Esto me lo saca asi

<br>• esta cañon<br>

deberia imprimir: •esta cañon

y en vez de la & me imprime &amp;

no se si estoy usando bien la funcion htmlentities

Lo extraño es que es solamente con la "ñ" y el "•".

Como lo tengo, me imprimi bien las " ", el &, ' ', < >.. es solo con esos 2 caracteres.
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #6 (permalink)  
Antiguo 05/08/2007, 14:13
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: ¿Por qué pasa esto? ¿Cómo lo corrijo?

Que lerdo soy , ya te entendi lo que me querias decir!!

Ya solucione el problema cambiando una de mis cabeceras, esta:

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

por esta

Código HTML:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
Y listo!!. Si estuve leyendo por ahi que los ISO estan mandados a recoger!

GRACIAS POR LA AYUDA!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
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 15:51.