[Nodejs]Nodejs后端正确返回中文

前提条件
创建一个简单的nodejs应用详见:nodejs创建一个简单的服务器

问题
创建nodejs简单应用的时候,response.end()中输出中文,但是在前端访问的时候,页面显示的是乱码。
如图:
nodejs response中文乱码
解决方法
解决方法有两个,第一个是返回文本,将头部的Content-Type的值设置为text/plain;charset=utf-8
另一个解决方法是返回html文档,text/html,然后在html文档的<head>部分的<meta>标签里边设置charset=utf-8
1、方法一代码如下:

http.createServer(function(request,response) {
    response.writeHead(200,{ 'Content-Type': 'text/plain;charset=utf-8'});  
    response.end('后端服务创建成功'); 
    //这里使用response.write()也可以,但是最后一定要有一个response.end(),
    //不然会一直处于加载状态
}).listen(8000);

2、方法二代码如下:

http.createServer(function(request,response) {
    response.writeHead(200,{ 'Content-Type': 'text/html'});
    response.write('<head><meta charset="utf-8"></head>')
    response.end('<body>后端服务创建成功</body>');
}).listen(8000);

结果如图:
后端服务创建成功

发布了28 篇原创文章 · 获赞 4 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_40736319/article/details/104113834