Foros del Web » Programando para Internet » PHP »

caracteres especiales

Estas en el tema de caracteres especiales en el foro de PHP en Foros del Web. holas gente, miren estoy haciendo un libro de visitas y tengo en el la validacion de tiempo por publicaciones, campos vacios y demas... y pagino ...
  #1 (permalink)  
Antiguo 05/10/2007, 19:07
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
caracteres especiales

holas gente, miren estoy haciendo un libro de visitas y tengo en el la validacion de tiempo por publicaciones, campos vacios y demas...
y pagino los resultados con ajax, y bueno como muchos sabran, al traer los resultados por problemas de "ñ Ñ á" caracteres especiales y demas, lo soluciono con utf8_encode("mensaje"); al mostrar, pero yo tengo una funcion, que me mira los datos que ingresa el usuario, y ve si hay o no caracteres invalidos, pero si la pongo a pelo, no me detecta las ñÑ y me dice que es un caracter no permitido :/ y si le pongo un decode o encode de utf8 ya funciona pero como muestro con utf8_encode :/ igual me muestra cosas raras como ã±

que solucion me da :( no doy con la solucion despues de horas y horas de cabeceo decidi pasarme aqui...

les dejo mi codigo que verifica los caracteres y el qu eme da problemas...

Código PHP:
<?php
if ($_POST[mensaje] != "")
{
$men $_POST[mensaje];
        
$permitidos " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789¬-_,!?¿:;[]¡{}+*^¨ºª´áäëéíóöúüÁÄÉËÍÏÓÖÚÜ=()";
           for (
$i=0$i<strlen($men); $i++)
        {
          if (
strpos($permitidossubstr($men,$i,1))===false)
          {
         echo 
"<div align=\"center\"><font size=\"1\" face=\"Verdana\" color=\"#CCCCCC\"><br><br>El Mensaje Contiene <br>Caracteres Inv&aacute;lidos.<br><br>";
         return 
false;
          }
           }
}
?>
como he dicho aqui si pongo asi mismo, e ingreso una ñ me da error y no deberia, si pongo en el POST[mensaje] en en permitidos un decode o encode me va, pero cuando recivo con

utf8_encode() me salen cosas raras :(, habra otra cosa para validar plis una ayudita...

en realidad solo quiero que no me ingresen cosas como < > ' / @ \ y demas
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Última edición por kaninox; 05/10/2007 a las 19:21
  #2 (permalink)  
Antiguo 06/10/2007, 00:36
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: caracteres especiales

bueno estuve haciendo una pruebas, y justo antes de guardar pongo un echo para ver que viene si envio por ej...

mañana me sale en en el hecho "mañana", o sea bien pero si voy a la base de datos esta guardado como ñaña :/ a que se debera ya no se nada...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 06/10/2007, 07:17
 
Fecha de Ingreso: mayo-2005
Mensajes: 74
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: caracteres especiales

¿Que cotejamiento tiene tu base de datos? y tu tabla? y el campo donde lo guardas? no dices nada pero si es MySql, tienes q poner:

utf_spanish_ci

con eso lo verás correctamente en la bd.
  #4 (permalink)  
Antiguo 06/10/2007, 22:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: caracteres especiales

gracias pero lo arregle pantes de ingresar las cosas poniendolas con utf8_decode();
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 09:44.