天天看点

node mysql模块写入中文字符时的乱码问题彻底解决mysql中文乱码MySQL 插入数据时,中文乱码问题的解决

刚刚发现一个奇怪的问题:

在node上用mysql模块将数据写入数据库的时候,在cmd上打开mysql发现select出来的中文是乱码。但这就奇怪了。

因为本机在安装mysql的时候就已经在配置文件将字符集设置为utf-8.

然后我在mysql输入status:

node mysql模块写入中文字符时的乱码问题彻底解决mysql中文乱码MySQL 插入数据时,中文乱码问题的解决

再输入:show variables like '%char%';

node mysql模块写入中文字符时的乱码问题彻底解决mysql中文乱码MySQL 插入数据时,中文乱码问题的解决

嗯。。。

然后我在node上检测,发现获取并解析了post的数据后,中文不是乱码,写入之前不是乱码,写入再读出也不是乱码。。

所以服务器上的读写是没问题的,难道是bash和cmd闹别扭?hahaha 

然后在npm文档看到mysql模块的一段话:

  • charset

    : The charset for the connection. This is called "collation" in the SQL-level of MySQL (like 

    utf8_general_ci

    ). If a SQL-level charset is specified (like 

    utf8mb4

    ) then the default collation for that charset is used. (Default: 

    'UTF8_GENERAL_CI'

    )

模块已经默认帮我们设置了UTF8类。好吧。。

暂时认为是同时开cmd的mysql和node的mysql导致的冲突(虽然可能性不太大)

不过乱码问题,都是因为字符集没有设置好,下面给两篇刚刚看到的文章:

彻底解决mysql中文乱码

MySQL 插入数据时,中文乱码问题的解决

转载于:https://www.cnblogs.com/alan2kat/p/7775298.html