Articles of utf 8

Node.js不能解码string..字符乱码(问号)

我真的希望这只是工作,但… 我得到一个base64string的头…我想编码为UTF8。 strInit = req.headers['authorization'] buf = new Buffer(strInit.length) i = 0 while i < strInit.length buf[i] = strInit.charCodeAt(i) i++ str = buf.toString() str2 = new Buffer(str, 'base64').toString() console.log("AUTH REQUEST :",strInit, buf, str, str2) AUTH REQUEST : Basic dXNlckBnbWFpbC5jb206cXdlcnR5 <Buffer 42 61 73 69 63 20 64 58 4e 6c 63 6b 42 6e 62 […]

从包含nodejs中的重音字符的文件读取

所以我parsing一个大的csv文件,并将结果推送到mongo。 该文件是maxminds城市数据库 。 它有各种有趣的utf8字符。 我仍然在一些城市名称中使用(?)符号。 这里是我如何阅读文件: (使用csv节点模块) csv().from.stream(fs.createReadStream(path.join(__dirname, 'datafiles', 'cities.csv'), { flags: 'r', encoding: 'utf8' })).on('record', function(row,index){ .. uninteresting code to add it to mongodb }); 我在这里做错了什么? 我在Mongo:Ch teauguay,加拿大得到这样的东西 编辑 : 我试着用不同的lib来读取文件: lazy(fs.createReadStream(path.join(__dirname, 'datafiles', 'cities.csv'), { flags: 'r', encoding: 'utf8', autoClose: true })) .lines .map(String) .skip(1) // skips the two lines that are iptables header […]

与UTF8数据错误

我正在尝试使用socket.io创build一个非常简单的聊天应用程序。 它运行良好,但utf8数据。 当我尝试发送一些包含utf8内容的消息时,出现错误。 Error: Invalid continuation byte at Error (<anonymous>) at readContinuationByte (F:\nodejs\node_modules\socket.io\node_modules\engin e.io\node_modules\engine.io-parser\node_modules\utf8\utf8.js:127:9) at decodeSymbol (F:\nodejs\node_modules\socket.io\node_modules\engine.io\nod e_modules\engine.io-parser\node_modules\utf8\utf8.js:167:12) at Object.utf8decode [as decode] (F:\nodejs\node_modules\socket.io\node_modu les\engine.io\node_modules\engine.io-parser\node_modules\utf8\utf8.js:201:17) at Object.exports.decodePacket (F:\nodejs\node_modules\socket.io\node_module s\engine.io\node_modules\engine.io-parser\lib\index.js:150:17) at WebSocket.Transport.onData (F:\nodejs\node_modules\socket.io\node_modules \engine.io\lib\transport.js:102:24) at WebSocket.onData (F:\nodejs\node_modules\socket.io\node_modules\engine.io \lib\transports\websocket.js:75:30) at WebSocket.EventEmitter.emit (events.js:98:17) at Receiver.self._receiver.ontext (F:\nodejs\node_modules\socket.io\node_mod ules\engine.io\node_modules\ws\lib\WebSocket.js:697:10) at Receiver.opcodes.1.finish (F:\nodejs\node_modules\socket.io\node_modules\ engine.io\node_modules\ws\lib\Receiver.js:397:14) Program node chat.js exited with code 8 我怎么解决它? […]

将UTF-8数据转换为正确的string格式

如果我通过一个套接字(或通过任何外部来源)收到一个UTF-8string,我想把它作为一个正确parsing的string对象。 以下代码显示了我的意思 var str='21\r\nJust a demo string \xC3\xA4\xC3\xA8-should not be anymore parsed'; // Find CRLF var i=str.indexOf('\r\n'); // Parse size up until CRLF var x=parseInt(str.slice(0, i)); // Read size bytes var s=str.substr(i+2, x) console.log(s); 这个代码应该打印 只是一个演示stringäè 但是由于UTF-8数据没有被正确parsing,所以只能parsing到第一个Unicode字符 只是一个演示stringä 谁会有一个想法如何正确地转换这个?

如何使用节点请求从另一个域获取json文件?

我有一个在远程服务器的JSON文件。 <domainName>/info.json 。 当我导航到我得到的url: { "version": "1.8 RC05" } 但是,当我从我的terminalcurl <domainname>/info.json ,我得到如下所示: T*K-* RP2Գr60Uk % c9@ 当我使用节点request如下: app.get('/', function(req,res){ request.get('<domainname>/info.json').on('response', function(data){ data = data.setEncoding('utf8'); console.log(data.statusCode); res.json(data); }); }); 我得到以下回应: { "statusCode": 200, "headers": { "content-type": "application\/json; charset=utf-8", "content-length": "46", "connection": "close", "date": "Tue, 22 Sep 2015 09:56:22 GMT", "content-encoding": "gzip", "cache-control": "max-age=1800, public", "last-modified": "Mon, […]

Node.JS JSON.parse UTF-8问题

我已经构build了一个小脚本,可以让我从GooglesearchAPI获取关键字build议。 主要问题是如果响应包含特殊字符(如àéù等):我的应用程序返回给我这些不可读的关键字:�ïïïïïïïïïïïïïïïïïïïïïïïïïïïïï¿ ,ïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïïï¿ 这是我的Node.js脚本: var express = require('express'); var request = require('request'); var app = express(); app.get('/sug', function (req, res) { var KW = req.query.KW ; console.time("Délai"); var url = "http://clients1.google.fr/complete/search?hl=fr&q=" + KW + "&json=t&client=hp"; request(url, function (err, resp, body) { body = JSON.parse(body); res.end(body.toString()); console.timeEnd("Délai"); }); }); app.listen(1337); console.log('Serveur : OK'); 调用很容易,只需在浏览器中inputhttp:// localhost:1337 / […]

我怎样才能在Node.js中将CP852解码为UTF-8?

有没有办法在节点或客户端网页中将文本从CP852转换为UTF-8?

带有socket.io的nodejs中的UTF-8

我无法通过使用nodejs和socket.io将utf-8编码的string传递给客户端。 我使用的是什么传输(websocket,flashsocket或者xhr-polling)似乎并不重要。 代码非常简单明了: 服务器: var app = require('http').createServer(handler) , io = require('socket.io').listen(app,{log:false}); app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/index.html','utf-8', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } var type="text/html"; res.writeHead(200, {'Content-Type':type + "; charset=utf-8"}); res.end(data,'utf8'); }); } io.sockets.on('connection', function (socket) { socket.emit('msg', { text: 'æøå' });//Here we send […]

JSON.parse UTF-8string

我试图parsing一个UTF-8编码的string,但JSON.parse在这一行上窒息: undefined:306,“o”:{“type”:“uri”,“value”:“ http://got.dbpedia.org/resource/ \ U00010331 \ ^ SyntaxError:U Unexpected token U 这是我使用的线路: var object = JSON.parse(data); 我也尝试过这一行,但没有成功: var object = JSON.parse(data.toString('utf8')); 任何想法?

在nodejs中使用utf8口音

我试图用utf8编码读取一个vcf文件,结果是: { "name": "=4A=61=76=69=65=72=20=4C=75=6A=C3=A1=6E", "tel": "2814682382" }, 问题是口音字符,例如áéíóú 。 如何将name转换为有效的utf-8string? 在上面的例子中,string必须是Javier Luján