(一)Node.js写入文件中文乱码问题

Node.js写入文件中文乱码问题

刚学node.js,还不太熟,用的是记事本编辑的一个js文件,具体操作就是首先创建一个.txt文件,把后缀改掉,改成(文件名.js),然后再在文本里编辑代码:

//引入required模块
var http = require('http');
http.createServer(function (request, response){
// 发送 HTTP 头部  
// HTTP 状态值: 200 : OK  
// 内容类型: text/plain  
response.writeHead(200, {'Content-Type':'text/plain'});
response.end('Hello Node.js,小姐姐你好\n');

}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

然后win+R打开运行面板,输入cmd,进入到node.exe所在的上级目录,输入node filename.js,如下图:
示例

打开浏览器查看效果:
这里写图片描述
很好,遇到错误了,百度了一下,一般发生这种情况有以下几种解决方式。
、在writeHead里加一句charset:utf-8

//引入required模块
var http = require('http');
http.createServer(function (request, response){
// 发送 HTTP 头部  
// HTTP 状态值: 200 : OK  
// 内容类型: text/plain  
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); 
response.end('Hello Node.js,小姐姐你好\n');

}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

运行一下:
这里写图片描述
看来没有解决我的问题。


二、在代码中添加如下一句

response.write('<head><meta charset="utf-8"/></head>'); 

再运行,变成了这样:
这里写图片描述


三、查看js文件的编码方式,打开我的js文件,另存为就可以看到,如我的文件:
这里写图片描述
然后更改它的编码方式,保存为UTF-8,再运行一次,记住还要在Content-Type里面加上charset:utf-8,终于正确了。
这里写图片描述

总结

这几种方法每种都有用,但是刚好我遇到的是更改保存编码方式就解决了,Node.js 支持中文不太好,《Node.js开发指南》节选部分:

公平地说这不是Node.js 的缺陷,而是JavaScript 标准的问题。目前JavaScript 支持的字符集还是双字节的UCS2,即用两个字节来表示一个Unicode 字符,这样能表示的字符数量是65536。显然,仅仅是汉字就不止这个数目,很多生僻汉字,以及一些较为罕见语言的文字都无法表示。这其实是一个历史遗留问题。

很开心,不过我已经解决了一个小问题,编码问题确实是挺让人头疼的。


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值