Foros del Web » Programando para Internet » PHP »

problema para guardar Ñ

Estas en el tema de problema para guardar Ñ en el foro de PHP en Foros del Web. Tengo un problema, tengo validados mis campos con expresiones regulares de la siguiente forma: if (!ereg("^[A-ZÑ]{3,20}$", trim($patnuevo))) { header ("Location: $pag?accion=nivel&id_sup=$id_sup&error=3"); exit; } pero por ...
  #1 (permalink)  
Antiguo 06/05/2009, 13:53
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 7 meses
Puntos: 0
problema para guardar Ñ

Tengo un problema, tengo validados mis campos con expresiones regulares de la siguiente forma:

if (!ereg("^[A-ZÑ]{3,20}$", trim($patnuevo))) {
header ("Location: $pag?accion=nivel&id_sup=$id_sup&error=3");
exit;
}

pero por ejemplo si pongo alguna palabra con Ñ, por elemplo CAÑEDO

en la base de datos se guarda solo CA, estuve revisando en internet y segun algunas respuestas lo conveniente era cambiar el cotejamiento a utf8_spanish2_ci, o utf8_unicode_ci pero no funciona.
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 06/05/2009, 15:58
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: problema para guardar Ñ

Ahí pusiste el código que filta si no cumple, ¿y si cumple qué pasa?

¿Podrías poner todo el código que procesa el campo y guarda en la DB?

Saludos.
  #3 (permalink)  
Antiguo 08/05/2009, 11:37
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 7 meses
Puntos: 0
Exclamación Respuesta: problema para guardar Ñ

Hola de nuevo, estuve investigando soluciones y le puse la parte de charset con UTF al php.ini, al httpd.conh del apache, ademas a la pagina y a la base de datos, mas mo menos ha funcionado, si doy de alta algun registro con Ñ en mysql, en la pagina ya me lo muestra bien, pero si trato de agregarlo desde la pagina no me deja desde la validacion he probado con:

if (!ereg("^[A-ZÑ ]{3,20}$", trim($nombre))) {
header ("Location: $pag?accion=nuevo&error=5");
exit;
}


y con

if (!ereg("^[A-Z\u00d1 ]{3,20}$", trim($nombre))) {
header ("Location: $pag?accion=nuevo&error=5");
exit;
}


pero no la deja pasar, sigue tomando la Ñ como un caracter especial, no como uno valido, alguien sabe de oue otra forma puedo poner mi expresion regular para que me admita la Ñ??

Lo que hace la funcion es si no esta dentro del rango de caracteres que admite manda el mensaje de error correspondiente, de lo contrario se sale y valida la siguiente funcion, si no hay errores procede arealizar el insert.
__________________
:cool: VELMA:si:
  #4 (permalink)  
Antiguo 08/05/2009, 11:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problema para guardar Ñ

NOTA que la codificación del script también debería ser UTF-8

y es mejor usar preg_* en lugar de ereg* por tener un mejor soporte de utf8
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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:37.