node.js - 如何解决使用 nodejs 的 mysql 模块插入时间值为乱码问题?
巴扎黑
巴扎黑 2017-04-17 16:06:39
[MySQL讨论组]

今天遇到个很奇怪的问题,在使用mysql的nodejs模块的时候,执行一条插入DateTime值到数据库的语句后,数据库里面添加完成的值显示为乱码,并且会影响后面列值的显示,简化后的代码如下:

var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : '----------',
    user     : '----------',
    password : '----------',
    database : '----------',
    charset : 'utf8'
});
connection.connect();
connection.query('insert into us_thjlgl SET ldsj = NOW()', function(err,res) {
  if (err) throw err;
  console.log(res);
});
connection.end();

此时在数据库里面可以看到刚才添加的时间值为乱码:

并且会破坏后续值的数据,执行语句
insert into us_thjlgl SET bjfhm="成都" , ldsj = NOW() , thsj = 100
后,可以在数据库里面发现刚刚插入的三条数据:

数据"成都"并没有受影响,数据100被破坏成了另一个值。

数据库的字符集都是utf8,包括代码。字段ldsj 的数据类型为 datetime

mysql模块版本为:"^2.12.0"

网上找了很多答案都不管用。所以到这里来请教下。

谢谢

巴扎黑
巴扎黑

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号