【解决】nodejs 使用 mysql 获取数据库数据中文乱码问题

参考链接: ​​StackOverflow 问题​

问题描述

在学习使用 ​​nodejs​​​ 写 web 服务的时候,在用 ​​mysql​​ 获取数据库信息的时候,返回的中文一直是乱码,无论配置 charset 与否,都是乱码。

问题根源

其实这个问题不在 ​​mysql​​​ 那边,在配置了 ​​charet​​​ 之后,数据库获取到的数据已经不是乱码了,这个乱码是 ​​http​​ 服务器那边的问题

解决方法

在 ​​http​​​ 响应数据的头部添加 ​​charset=utf-8​​ 即可

res.setHeader('Content-Type', 'text/plain; charset=utf-8');

之前:

【解决】nodejs 使用 mysql 获取数据库数据中文乱码问题_npm
【解决】nodejs 使用 mysql 获取数据库数据中文乱码问题_数据_02

之后:

【解决】nodejs 使用 mysql 获取数据库数据中文乱码问题_nodejs_03

【解决】nodejs 使用 mysql 获取数据库数据中文乱码问题_mysql_04