阿琛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 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题