Foros del Web » Programando para Internet » Javascript »

JS no imprime tildes y ñ

Estas en el tema de JS no imprime tildes y ñ en el foro de Javascript en Foros del Web. Estoy usando moment.js para manejo de tiempo, esta configurado en español. moment.lang("es"); document.writeln(moment("2012-10-01 21:02", "YYYYMMDD hh:mm").fromNow()); Me imprime en el html: hace 2 años y ...
  #1 (permalink)  
Antiguo 01/10/2014, 20:21
 
Fecha de Ingreso: mayo-2013
Ubicación: Guadalajara
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
JS no imprime tildes y ñ

Estoy usando moment.js para manejo de tiempo, esta configurado en español.
moment.lang("es");
document.writeln(moment("2012-10-01 21:02", "YYYYMMDD hh:mm").fromNow());

Me imprime en el html: hace 2 años
y cuando son dias: hace 11 dÃ*as

tengo el <meta charset="utf-8" /> en el head del html
Algiuen sabe que puede estar pasando?
Ya que no puedo usar unicode por que es la libreria la que retorna el valor, solo lo imprimo con JS.

Saludos. Gracias.
  #2 (permalink)  
Antiguo 02/10/2014, 06:54
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 10 meses
Puntos: 9
Respuesta: JS no imprime tildes y ñ

Si tienes la página en UTF8 y el resultado de moment te lo devuelve en ISO-8859 lo tienes mal. Prueba a cambiar el charset a ISO-8859 y mira si te funciona. Los navegadores incorporan hoy en día un elemento de menú para cambiar el charset, lo puedes usar sin tener que cambiar el código para verificar estas cosas.

Saludos.
  #3 (permalink)  
Antiguo 02/10/2014, 12:21
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
Puntos: 1485
Respuesta: JS no imprime tildes y ñ

buenas,
según yo, el problema es la codificación de tu página. en este caso, parece que en realidad tu página no está cargando como utf-8, posiblemente como latin-1 o alguna variante. la razón es muy simple. fíjate que moment.js te imprime dos caracteres correspondiente a la letra que debería imprimir. o sea, ñ para ñ, Ã* para í, etc. eso significa que moment.js está codificado en utf-8. si al cargar el script no le indicas la codificación del script, entonces el navegador asumirá la misma codificación del documento html. puedes intentar varias cosas:
- cargar el script indicando la codificación mediante el atributo charset: <script charset='utf-8' ...>.
- tal como dice el compañero, configura el charset de tu navegador. es posible que lo tengas fijo en lugar de automático.
- si ninguno de los anteriores funciona, es posible que el servidor está indicando el charset, el cual ocupa mayor prioridad que el atributo charset o el META charset.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 03/10/2014, 18:26
 
Fecha de Ingreso: mayo-2013
Ubicación: Guadalajara
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: JS no imprime tildes y ñ

Si tengo el utf-8 en el head.
Ya lo guarde con save with encoding utf-8 y aun asi sigue fallando.
Use ISO-8859 y sigo con el problema :/
  #5 (permalink)  
Antiguo 03/10/2014, 18:30
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
Puntos: 1485
Respuesta: JS no imprime tildes y ñ

¿verificaste el header content-type? ¿la configuración del encoding en tu navegador? si todo eso está bien, deberás mostrarnos algo más tangible; el código no ayuda mucho para determinar la causa.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: js
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 07:27.