Tag: utf 8

在从节点到Java的调用中实施utf8编码

我正在从一个节点中间层调用一个Java后端,并传递一个string作为查询参数。 一切都很好,直到使用非英文字母字符(例如:ř,ý)。 当Java收到这些字符时,会抛出: parse exception: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! 这个电话是完美的: GET http://localhost:8000/server/name?name=smith 此调用失败,出现以上错误: GET http://localhost:8000/server/name?name=sořovský 我的问题涉及在哪里解决这个问题。 我已经find了这个节点的utf8编码器,并且正在考虑在将来调用我的Java层之前将我的string编码为utf8。 这是正确的方法,或者我应该在Java内做些什么? 请注意,这是我的相关请求头像: { … accept: 'application/json, text/plain, */*', 'accept-encoding': 'gzip, deflate, sdch', 'accept-language': 'en-US,en;q=0.8,el;q=0.6', … }

节点JSencryption,不能创build带有重音的字符的hmac

当我试图encryption的文本有重音字符(如ä,ï,ë)时,我在NodeJS中使用crypto.js生成正确的签名时遇到问题。 generateSignature = function (str, secKey) { var hmac = crypto.createHmac('sha1', secKey); var sig = hmac.update(str).digest('hex'); return sig; }; 如果'str'不包含重音字符(字符如ä,ï,ë),此函数将返回正确的HMAC签名。 如果文本中有重音字符,则不会返回正确的HMAC。 重音字符在UTF8编码是有效的,所以我不知道为什么encryption与他们有问题。 可能是这样,我需要以某种方式告诉encryption,我正在签署utf8编码的文本,但我不知道如何做到这一点。 在这篇文章中描述了完全相同的问题: NodeJS hmac摘要问题与口音然而,post本身以及答案对我来说是没有意义的(因为他们正在传递他们想要encryption的数据,走)。 以下是str和secKey的硬编码值的一个版本: var crypto = require('crypto'); str="äïë"; secKey="secret"; var hmac = crypto.createHmac('sha1', secKey); var sig = hmac.update(new Buffer(str, 'utf8')).digest('hex'); console.log("Sig: " + sig); console.log("Expected: 094b2ba039775bbf970a58e4a0a61b248953d30b"); // "Expected" was generated using […]

如何捕获node.js中的箭头键

什么是所有四个箭头键的utf8代码(上下左右)? 我正在学习node.js,我试图检测这些键是否被按下。 这是我所做的,但没有一个捕获箭头键…我是一个完整的node.js新手,所以我可能在这里做一些愚蠢的事情。 var stdin = process.stdin; stdin.setRawMode(true); stdin.resume(); stdin.setEncoding('utf8'); stdin.on('data', function(key){ if (key === '39') { process.stdout.write('right'); } if (key === 39) { process.stdout.write('right'); } if (key == '39') { process.stdout.write('right'); } if (key == 39) { process.stdout.write('right'); } if (key == '\u0003') { process.exit(); } // ctrl-c }); 谢谢。

Nodejs将string转换为UTF-8

从我的数据库即时获取以下string: Johan Öbert 应该说的是: Johan Öbert 我试图把它转换成utf-8像这样: nameString.toString("utf8"); 但仍然是同样的问题。 有任何想法吗?

如何在Node.js中获得UTF-8?

我如何获得我的API的UTF-8支持? 目前,一个string输出是这样的: name: "John D m" 代替: name: "John Döm" 结帐app.js如下: var express = require('express'), driver = require('./driver'); var app = express(); app.configure(function () { app.use(express.logger('dev')); app.use(express.bodyParser()); }); app.get('/drivers', driver.findAll); app.listen(3000); console.log('Up: http://127.0.0.1:3000/');

NodeJs – 如何使函数fs.writeFile与BOM写入?

我正在使用nodeJS v0.8.6和本地库fs。 这是我的代码: var filesys = require('fs'); filesys.writeFile('test.txt', 'This is an example with accents : é è à ','utf8', function (err) {}); 问题是,它没有BOM(我用记事本+ + +来validation它)在utf8中写入,它不能在Windows上的写字板(口音不能很好地显示)工作。 事情是,我需要这个文件,通过使用写字板的womeone读取。 如何将BOM添加到我的文件?

在node.js中计算Content-length头的正确方法是什么?

我目前还不能确定目前的计算内容长度的方法是否正确。 使用string.length()计算内容长度有什么影响。 使用node.js时,将charset设置为utf-8甚至意味着什么? payload = JSON.stringify( payload ); response.header( 'content-type', application/json; charset=utf-8 ); response.header( 'content-length', payload.length ); response.end( payload );