node使用mysql获取数据库数据中文乱码问题的解决

参考链接:StackOverflow 问题

问题描述

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

问题根源

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

解决方法

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

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

之前:

之后:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nodejs和C语言插入mysql数据库乱码问题的解决方法

    在这里记录了nodejs过程中的一些乱码情况,这里的乱码主要是由于网页的编码方式与nodejs的默认解码方式(utf8)不一致所造成的.这一次要说一下的是在C语言和nodejs与MySQL进行交互的时候出现的乱码问题. 1,由于爬虫程序在多个Docker中执行,因此我需要定期的同步每一个docker中的mysql数据到一个全局的mysql数据表中.使用nodejs进行数据同步,出现中文乱码.要知道在每一docker中的中文是不存在乱码的.原因是nodejs默认处理字符是utf8,而mysql默认

  • node使用mysql获取数据库数据中文乱码问题的解决

    参考链接:StackOverflow 问题 问题描述 在学习使用 nodejs 写 web 服务的时候,在用 mysql 获取数据库信息的时候,返回的中文一直是乱码,无论配置 charset 与否,都是乱码. 问题根源 其实这个问题不在 mysql 那边,在配置了 charet 之后,数据库获取到的数据已经不是乱码了,这个乱码是 http 服务器那边的问题 解决方法 在 http 响应数据的头部添加 charset=utf-8 即可 res.setHeader('Content-Type', '

  • mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用-

  • mysql中插入表数据中文乱码问题的解决方法

    一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1 二.分析 1.我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题. 2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题.然后网上百度发现是mysql默认的编码问题导致

  • Mysql 导入导出csv 中文乱码问题的解决方法

    导入csv: 复制代码 代码如下: load data infile '/test.csv' into table table_name fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\r\n' ignore 1 lines; 导csv: 复制代码 代码如下: SELECT * INTO OUTFILE '/test.csv'  FIELDS TERMIN

  • Ubuntu下Mysql 常用指令及中文乱码问题

    下面给大家介绍mysql 常用指令及中文乱码解决问题 Mysql 系统管理指令 登陆本地 Mysql mysql -u username -p # 回车输入密码 或者 mysql -u username -p passswd; 登陆远程 Mysql mysql -h address -u username -p # 回车输入密码 或者 mysql -h address -u username -p passswd; 修改新密码 mysql> use mysql; mysql> update u

  • 解决Linux下Tomcat向MySQL插入数据中文乱码问题

    一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一 直接在linux上面使用insert语句插入中文,正常 2.尝试二 在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行 3.尝试三 在tomcat配置文件server.xml中再加入URIEncoding="UTF-8",不行 4.尝

  • Idea连接MySQL数据库出现中文乱码的问题

    问题:当使用JDBC连接MySQL数据库时,插入中文显示乱码 解决方法:在连接代码中插入以下代码 String url = "jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false"; 代码解读 useUnicode=true&characterEncoding=utf8 以上代码有两个作用: 1.存

  • springboot与数据库返回数据中文乱码

    问题描述:使用springboot操作数据库时,返回的中文数据一直是乱码 刚开始以为是springboot的问题,一直在网上搜索springboot返回数据是乱码结果我的问题压根对不上边,怎么都解决不好 后面发现应该是mysql数据库的问题,于是上网搜索,最后判断是字符集的问题 解决流程:先使用sql语句查看数据库的字符集 show variables like 'character%'; 发现多处地方都不是utf8,想要修改的话要对mysql配置文件修改,网上很多修改都是使用命令修改,但是这种

  • 在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现实是cmd默认的是gbk(cmd属性可以看到中文操作系统下面是gbk编码),而mySQL一般是utf8(我的也是),之前一直进入误区,想要更改cmd的字符编码,可是并不能行得通.网友中提到在mysql中关于客户端编码问题,只需在cmd里告诉mysql服务器我客户端这边编码和想要的结果集编码即可.

  • PHP读取mssql json数据中文乱码的解决办法

    PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. 解决办法如下: 这样,sql server 2008中的中文就可以在网页正常显示了. 如果要将中文正常插入到sql server 2008中,还要加入一条代码:$query = iconv("utf-8", "gbk//ignore", $query);//为了解决中文

随机推荐