Node.JS字符串编码问题

时间:2011-12-09 06:48:15

标签: mysql node.js encoding tcp

我正在TCP聊天服务器和SQL Server之间编写一种接口,并且在处理用户提交值的部分时,并使用此值为此DB中的行分配一个命名。当使用来自telnet shell的值查询此DB时,我无法从DB获得任何结果。但是当我在adminer / MySQL @ BASH等中执行相同的查询时,我可以... 我的想法是它已经归结为编码问题。对于节点而言相当无趣,我真的不知道该怎么做。我对JavaScript有很好的体验,而不是节点。

代码

function setCliNameOrKick(client, key){
key = String(key).replace(/\n\r\b\\\s/gi, "");
var q = "SELECT username FROM webusers WHERE lic = \'"+String(key).toString()+"\'; --";
console.log(key);
query(q);
cli.query(q, function cb(e, r, f){
    if(client != null){
        console.log(r);
        if(r.length >= 1){
            client.name = r['username'];
        }else{
            client.stream.end();
        }
    }else{
        console.log("Was Passed A Null Client!");
    }

});
}

来自数据库查询工具 它接收客户端在连接时发送的字符串的输入,以及表示客户端的对象

 stream.addListener("data", function(data){
    if(client.name == null){
        data = String(data).replace(new RegExp("[\n]+", "g"), "");
        cNameBuff = cNameBuff + data;
        if(cNameBuff.length > 1){ //Min Length
            //client.name = cNameB;
            db.set(client, cNameBuff);
            onAuth(client);
        }
        return;
    }
    data = String(data);
    if(data.length >= 2){
        srv.procChat(client, data);   
    }
});

0 个答案:

没有答案