problemas con la codificación de carácteres en nodejs

Iniciado por WHK, 14 Diciembre 2012, 15:37 PM

0 Miembros y 1 Visitante están viendo este tema.

WHK

Hola, estoy creando un script en nodejs y el problema es que cuando le escribo un mensaje con acento solo se ve el signo de interrogación, se que esto se debe a que el script está hecho en latin iso y la consola se está ejecutando en utf8, pero no se como solucionarlo, he intentado reemplazar la codificación de carácteres de salida codificando y decodificando en utf8 pero no me resulta.

console.log('áéíóú');

iMac:nodeJs WHK$ node control.js
�����


Al utilizar encodeURIComponent() me retorna el carácter en utf8 pero transcrito del latin iso:

iMac:nodeJs WHK$ node control.js
�����


Una solución que encontré es utilizar replace('á', '\xe1') y funciona super bién, pero tendría que reemplazar cientos de carácteres latinos, minusculas, mayusculas, eñes, signos de interrogación etc y lo mas probable es que se me queden algunas afuera, por eso estoy buscando la forma correcta de hacerlo sin reemplazar letra por letra.

En php envío una cabecera de content-type con la codificación de carácteres, en nodejs como se ejecuta en consola tendría que configurar la consola para que se ejecute en latin iso, pero en ves de esto puedo declarar algún tipo de cabecera o instrucción a la shell para que trabaje en modo latin iso solo mientras se ejecuta el script? o decirle que todo el buffer de salida será latin iso?

Mientras tanto he solucionado el problema codificando el archivo del script a utf8 pero quiero usar latin iso para mayor comodidad.

Gracias :)