前提条件
创建一个简单的nodejs应用详见:nodejs创建一个简单的服务器
问题
创建nodejs简单应用的时候,response.end()中输出中文,但是在前端访问的时候,页面显示的是乱码。
如图:
解决方法
解决方法有两个,第一个是返回文本,将头部的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);
结果如图: