Node.JS Проблемы со строковым кодированием - PullRequest
0 голосов
/ 09 декабря 2011

Я пишу своего рода интерфейс между сервером чата TCP и сервером SQL, и во время работы над частью, где пользователь отправляет значение и ему присваивается имя, извлеченное из строки в этой БД с этим значением. При запросе этой БД со значением из оболочки telnet я не могу получить никаких результатов от БД. Но я могу, когда я выполняю тот же запрос в 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);   
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...