1、项目场景
Node.js 概述: 一个基于 Chrome JavaScript
运行时建立的一个平台。Node.js
是一个事件驱动 I/O
服务端 JavaScript 环境,基于 Google
的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。
Node中的场景: Node.js 有很多有助于开发服务器端 Web 应用的工具,在Node.js中往往会使用中文字符的场景。 并会产生乱码的问题。
2、问题描述
问题出现在客户端访问服务器的过程中,过程如下:
- 客户端给服务器发送Get请求。
- 服务器端获取客户端的url地址和method方法。并将结果发送回客户端(使用res.end方法)。
- 客户端收到服务器发送的字符串内容,发生解析错误,导致产生乱码问题。
3、原因分析
没有指定服务器端的编码格式,需要设置编码格式为UTF-8,即可解决该问题。
4、解决方案
方案一:使用 writHeader 和 write 方法,将格式设置写入到请求头和html界面中。
resp.writeHeader(200, {'Content-Type' : 'text/html;charset:utf-8'});
resp.write('<head><meta charset="utf-8"/></head>');
方案二(推荐):使用setHeader方法,只用设置请求头。
resp.setHeader('Content-Type','text/html; charset=utf-8');
总结
- 方案一: 使用 writHeader 和 write 方法,将格式设置写入到请求头和html界面中。
- 方案二 (推荐):使用setHeader方法,只用设置请求头。