Foros del Web » Programando para Internet » Javascript »

Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Estas en el tema de Problema con letra Ñ y tilde al enviar datos en google chrome e ie en el foro de Javascript en Foros del Web. Saludos. Tengo problemas al enviar texto con ñ y tildes pero solo me pasa con google chrome 17 e internet explorer 9 (no he probado ...
  #1 (permalink)  
Antiguo 21/02/2012, 19:45
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Exclamación Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Saludos.

Tengo problemas al enviar texto con ñ y tildes pero solo me pasa con google chrome 17 e internet explorer 9 (no he probado con versiones inferiores) pero no tengo problemas con Firefox (version 10.0.2) ya que los datos se envian correctamente

Se trata de una aplicación web java en la cual uso AJAX para el envío de formularios trabajo con el IDE netbeans en el cual puse como codificacion para el proyecto ISO-8859-1 al igual que en cada pagina jsp puse lo siguiente:

Código HTML:
Ver original
  1. <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3.     <head>
  4.         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

Cuenta con una base de datos hecha en postgresql en utf-8 pero en ella no hay problema al ingresar datos manualmente por lo que ahi no radica el problema y ademas lo ocurrido con firefox lo confirma.

El proceso de guardar datos desde los formularios es con el uso de ajax por lo que creo que ahi recae el problema. cuando grabo desde firefox reviso la base de datos y está todo correcto (tildes y ñ) pero no pasa lo mismo con IE y Chrome. ejemplo:

letra "ñ" la guarda en BD asi: ñ
la letra "a" con tilde : á

supuestamente con iso-8859-1 no deberia haber problema y estuve buscando en la web antes de presentar mi problema en este foro y encontré que debo guardar los archivos ".js" en utf-8 sin BOM y lo hice en todos los que tengo limpié la caché de los navegadores y probé nuevamente pero sin ningún cambio ya que solo firefox sigue guardando bien y los demás no.

Otro par de de detalles más es que los alert contienen tildes y ñ pero todos los navegadores los muestran sin problema lo cual me confunde más aun porque tambien el texto html no dinamico ya contienen las paginas jsp y que llevan tilde y ñ se muestran normal y sin problemas.

Porfavor lo que quiero es que me digan que he olvidado hacer o que hecho mal. Como debo crear mis archivos JS o que codificacion usar en las paginas como tambien en el IDE netbeans. Que combinacion de soluciones arregalria mi problema.

Adicional a esto; chrome en sus opciones tiene Codificación: Europa Occidental ISO-8859-1. Tambien probé en ponerla UTF-8 pero sin mejora alguna.
  #2 (permalink)  
Antiguo 21/02/2012, 20:33
Avatar de Yacobh  
Fecha de Ingreso: diciembre-2011
Ubicación: con los pies en la tierra
Mensajes: 32
Antigüedad: 13 años
Puntos: 7
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Hola, yo tenia problemas similares con php, y probé con lo siguiente, y me funciono, quiza puedas probar a ver que tal
Código HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<title>titulo</title>
<meta charset="encoding"> 
Ojala te sirva
__________________
Sistema Llovizna
  #3 (permalink)  
Antiguo 22/02/2012, 17:42
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Muchas gracias Yacobh; probé lo que me sugeriste pero sigue igual sin funcionar en chrome y en ie; solo va bien en el firefox como antes mencioné.
  #4 (permalink)  
Antiguo 22/02/2012, 18:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

buenas,
intenta agregando el atributo accept-charset al elemento <form>
  #5 (permalink)  
Antiguo 22/02/2012, 19:16
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Por experiencia en tu problema; mezclar Iso y Utf8 no mola.

Yo me he pasado a Utf8, construyendo TODA la web con Utf8, y no tengo ningún problema utilizando Ajax en Explorer (tengo que convertir datos con una función que trabaja con utf8_encode).

Si lo cambias a Utf8:
1) La página debe estar en Utf8 sin BOM.
2) La cabecera de la página debe estar en Utf8
3) La base de datos debe estar en Utf8.
4) al llamar a Ajax, debes convertir los datos recogidos con utf8_encode para Explorer o cualquier navegador que no lo haga.

Y creo que básicamente es eso.
  #6 (permalink)  
Antiguo 22/02/2012, 21:31
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Gracias por responder zerokilled voy a probarlo.

Urdaris_Nox; notepad++ tiene en su menú "codificación" [convertir a utf-8 sin BOM], basta con que use eso? o, que recomiendas? Y ademas podrías detallarme el punto 4 que mencionas el utf8_encode ya que como repito el problema es con IE 9 y GChrome, con firefox va bien!

Gracias nuevamente

Última edición por gebremswar; 22/02/2012 a las 23:25
  #7 (permalink)  
Antiguo 24/02/2012, 11:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Sí sí, notepad es suficiente para que la página esté en utf8 sin BOM, aunque yo uso Dreamweaver que ya me lo hace.

Lo del utf8_encode es una función que codifica un string para utf8. El problema está en que si ya está codificado, te lo fastidia. Encontré en interné una función que verifica si el String necesita conversión, la modifiqué un poco y es esta:

Código PHP:
function codificacionUTF8($str)
{
  
$cur_encoding mb_detect_encoding($str) ;
  if(
$cur_encoding == "UTF-8" && mb_check_encoding($str,"UTF-8"))
    return 
$str;
  else
    return 
utf8_encode($str);

Entonces, cuando recoges las variables en la pagina PHP, las pasas por ahí;

Código PHP:
$opcionSeleccionada codificacionUTF8($_GET['opcionSeleccionada']); 
Prueba y si te sigue saliendo cosas raras es que es otra cosa :)
  #8 (permalink)  
Antiguo 25/02/2012, 00:35
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Problema con letra Ñ y tilde al enviar datos en google chrome e ie

Urdaris_Nox

Pensé que te referías a una función "utf8_encode" en java (JSP) similar a la de PHP y por eso te pedí que me detallaras dicha funcion. Yo programo en PHP y pues si lo he utilizado, y ahora que me has refrescado la memoria, pues tengo una idea de como poder aplicar algo similar en JSP para asegurarme de que estean en UTF-8 mis datos que envío.

Voy a continuar con mi proyecto y les comento la solución al terminarla.

Etiquetas: ajax, chrome, eñe, ie9, jsp, tilde
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 05:05.