Node.js,net.socket,解码西里尔字符

时间:2015-08-06 20:04:20

标签: javascript node.js sockets

这是我的代码:

var net = require('net');
net.createServer(function (socket) {
    socket.setEncoding("utf8");
    socket.write("Welcome " + socket.name + "\n");

    socket.on('data', function (data) {
        console.log(data);
    });

    socket.on('end', function () {
        socket.destroy();
    });
}).listen(5000);

我正在使用telnet 127.0.0.1 5000连接到服务器。 我将套接字编码设置为UTF-8。 该脚本正常工作,直到我们发送包含“一些”cyrrillic字符的字符串。

例如:

data = абвгдеёжзийклмнопрстуфхцчшщьыъэюя;

console.log()输出абвгдеёжзийклмнопрст�����ф�цчшщьыъэю�����

编码有什么问题?为什么只有几个字符(х,у,я)变成问号?

我用Google搜索了这个问题一个小时。没有找到任何决定问你的事。

1 个答案:

答案 0 :(得分:1)

这既不是node.js也不是net.js模块问题。 正如@robertklep所说,使用netcat而不是telnet更好。