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

Javascript Node.js,net.socket,解码西里尔字母,javascript,node.js,sockets,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'

这是我的密码:

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连接到服务器。 我将套接字encodig设置为UTF-8。 在我们发送一个包含“某些”西里尔字母的字符串之前,脚本工作正常

例如:

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

编码有什么问题?为什么只有几个字符(Б、П、呫)会变成问号


我用谷歌搜索了这个问题一个小时。没有找到任何决定询问您的问题。

这既不是node.js也不是net.js模块问题。
正如@robertklep提到的,最好使用netcat而不是telnet。

你应该使用类似的东西来代替telnet(它不是一个透明的直通网络实用程序,可能会损坏你的数据)。@robertklep你是天才!谢谢你的建议!从未想过问题出在telnet上。:)