node读取本地文件中文乱码问题

本文探讨了Node.js在读取包含中文字符的本地文件时出现乱码的问题。揭示了问题根源在于Node.js默认只支持特定编码,如utf8、ucs2等,而不支持GBK或GB2312。并提供了两种解决方案:一是将文件另存为utf-8格式;二是针对非utf-8编码文件的通用读取方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node读取本地文件中遇到中文时,读取出来的是一串乱码。

问题来源:

        由于Node.js仅支持如下编码:utf8, ucs2, ascii, binary, base64, hex,并不支持中文GBK或GB2312之类的编码,在 windows 中,默认的文本编码方式是根据系统的 locale 决定的,中文系统中默认的编码方式为 gb2312 而不是 utf-8,(在Linux 中是用的utf-8,故不会出现问题)

解决方法:

        简单粗暴最直接的一种:把本地文件另存为设置成utf-8格式


虽简单粗暴,但终有弊端,如果读取的文件有很多难道要都手动另存为utf-8格式吗?如果读取的文件不是本地文件是远端文件,那就不确定文件格式是否是utf-8格式了,那该怎样更改?

以上问题,后续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值