原因分析:电脑文本文件中文全是乱码的,可能是系统区域设置,被无意中更改了,只要设置回来原本的中文字体显示即可。
1、点击电脑左下角的【win键】。
2、在搜索栏中输入【控制面板】,搜索控制面板页面。
3、搜索之后会出现最佳匹配,点击进入【控制面板】。
4、进入控制面板后,点击【时钟和区域】。
5、接着再点击【区域】。
6、在d出的【区域】窗口中,在工具栏选项点击【管理】。
7、点击进入【管理】后,点击【非Unicode程序的语言】窗口的【更改系统区域设置】。
8、将【当前系统区域设置】的选项更改为【中文(简体,中国)】,然后点击确定。
9、将电脑重新启动以便系统更改区域语言,电脑文本文件中文全是乱码的问题就解决了。
node读取本地文件
由于Node环境当中不支持GBK编码,此时读到的文件,英文可读取,但中文乱码
node.js当中的Buffer对象支持的编码格式的种类(支持的格式:ascii、utf8、utf16le、ucs2、base64、binary、hex)有限,不支持GBK的编码形式。
解决办法
iconv-lite用于在node当中处理在各种 *** 作系统出现的各种奇特编码,该模块不提供读写文件的 *** 作,只提供文件编码转换的功能。
npm install iconv-lite
restitle即为txt文档中的中文
此时会出现一个警告
Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding
上面这个github中给出了详细解释,大概意思是说
在使用iconv.decode功能进行解码之前,原始资源(无意间)已经body += chunk通过javascript类型转换进行了解码。
双重解码不仅会导致错误的结果,而且几乎不可能恢复原始字节,因为utf8转换是有损的,因此即使这样做也 iconv.decode(new Buffer(body, 'utf8'), 'win1252') 无济于事。
不是很明白,但有个忽略警告的方法
使用前说明一下忽略警告,就不会报错
解决方法:
1、首先打开文档,发现如下图的样子,全是乱码。
2、接着我们需要要打开这个文件所在的文件夹。
3、然后右键点击此文件,然后在d出的右键菜单当中选择打开方式一项,然后在跳出的次级菜单中选择用 写字板打开。
4、然后我们就可以发现此文档在写字板软件中就可以正常地显示了,(如果这篇文档当初编辑的时候就是用写字板程序编辑的,那么就可以在写字板中正常查看,如果是用别的软件,那么可能就会出现乱码的问题)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)