mysql 本地正常, 线上中文乱码, 折腾一晚上了, 望大神救命 /(ㄒoㄒ)/~~/(ㄒoㄒ)/~~
发布于 7 年前 作者 wxh2013 3621 次浏览 来自 问答

Screen Shot 2017-07-08 at 3.41.30 PM.png

Screen Shot 2017-07-08 at 3.42.28 PM.png

Screen Shot 2017-07-08 at 3.42.13 PM.png

如题, 试了iconv-lite, 好像没用啊

------------------------------------------------------更新, 重写建表后---------------------------------------------

WechatIMG1.jpeg

WechatIMG2.jpeg

WechatIMG4.jpeg

WechatIMG5.jpeg

我用node插mysql数据库, 数据库的编码格式是一样的, node程序是一样的, 我本地插数据是好的, 线上的话中文就变成????了, 什么情况[衰][衰][衰]

7 回复

直接在数据库层面转换。 mysql有转码的函数。

改mysql配置文件,重新建表 From Noder

@stonephp 大神, 我重写建表后, 数据库的编码格式是一样的, node程序是一样的, 我本地插数据是好的, 线上的话中文就变成????了, 折腾一晚上了, /(ㄒoㄒ)/~~

@xux9311 大神, 我重写建表后, 数据库的编码格式是一样的, node程序是一样的, 我本地插数据是好的, 线上的话中文就变成????了, 折腾一晚上了, /(ㄒoㄒ)/~~

@xux9311 你两边MYSQL版本都不一样,多半是client charset的问题 试着把mysql连接字符串带上charsetmysql://user:pass@host/db?charset=utf8

@wxh2013 默认字符设置的不一致。在你的db连接参数里指定好链接字符集。

另外mysql的字符集有好几个层面,db层面的,table层面的 column 层面的,优先级column>table>db。 确保都和你想象的一致。 另外mysql在连接的时候有字符集,确保和 table的字符集一致。column一般不要设置字符集,直接集成 table 的字符集。

基础比较弱, 升级了mysql后问题解决啦, 谢谢大家

回到顶部