阿琛Bonnie 2016-02-15 03:20 采纳率: 0%
浏览 1535

node.js解析input中文报错

通过nodejs将html页面中的表单内容插入mysql数据库。当input文本框内输入的为英文或数字时完全正确,一旦输入中文,点击提交按钮,服务端显示错误"Incorrect String Value……'
现在检查,数据库所有的字符设置都已经为utf8。nodejs代码中也有req.setEncoding('utf8')。表单form标签中也有accept-charset="UTF-8"。node.js代码、html代码、浏览器编码全部为utf8。请问是哪里的错误导致nodejs不能解析input里的中文?

以下是我node.js的代码:

 var http=require('http');
var mysql=require('mysql');
var qs=require('querystring');

var db=mysql.createConnection({
    host:'127.0.0.1',
    user:'root',
    password:'12345',
    database:'datanews'
});


var server=http.createServer(function(req,res){
    switch (req.method) {
        case 'POST':
            switch (req.url) {
                case '/':
                    addUser(db,req,res);
                    break;
            }
            break;

    }
});
server.listen(3000,'127.0.0.1');

function addUser(db,req,res) {
    var newData='';
    req.setEncoding('utf8');
    req.on(
        'data',
        function(chunck){
            newData+=chunck;
        }
    );
    req.on(
        'end',
        function () {
            var data=qs.parse(newData);
            db.query(
                "INSERT INTO userInfo(nickname,identify,password,gender,birthDay) "+
                " VALUES(?,?,?,?,?)",
                [data.nickname,data.identify,data.password,data.gender,data.birthDay],
                function (err) {
                    if (err) {
                        throw err;
                    }
                    else{
                        console.log("seccussful");
                        var html='<p>注册成功</p>'
                        toBrowser(res,html);
                    }
                }
            )
        }
    )
}

function toBrowser(res,htmldata) {
    res.setHeader('Content-Type','text/html;charset=utf8');
    res.setHeader('Content-Length',Buffer.byteLength(htmldata));
    res.end(htmldata);
}

  • 写回答

1条回答

  • devmiao 2016-02-16 01:02
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)