node.js不能很好地支持中文字符,在读取文件的时候,会出现对中文内容读取的乱码问题(linux系统下默认utf-8编码,一般不会出现该问题,但windows和部分虚拟机由于文件存储格式不同,可能会存在这个问题)

解决方案有两种

1.简便方法

将读取的源文件格式储存为utf8编码格式,读取源文件的js文件也储存为utf-8编码格式,就可以避免中文乱码显示

2.最佳方案

若读取的文件不在本地,我们无法保证文件的存储为utf-8编码格式,这个时候我们可以引入一个模块 ----纯Javascript转换编码的模块 iconv-lite,该模块可以实现window下的转换 ,通过npm可以安装此模块,bufferhelper是一个操作buffer的加强类

首先安装两个模块

npm install iconv-lite

npm install bufferhelper```

//js源代码 --- 读取本地input.txt文件

var iconv = require('iconv-lite');

var fs = require('fs');

var fileStr = fs.readFileSync('input.txt', {encoding:'binary'});

var buf = new Buffer(fileStr, 'binary');

var str = iconv.decode(buf,'utf8');

console.log(str); ```

思路:读取文件->按二进制编码->再按utf-8解码

linux中js文件有乱码,解决node.js读取文件时中文乱码问题相关推荐

  1. php csv 中文乱码_php读取csv时中文乱码怎么办?

    php读取csv时中文乱码的解决办法:首先在导入csv的php脚本文件头部加上相应代码:然后使用[$row]进行转义,将中文编码读取出来:最后使用一个[fgetcsv()]方法的替代函数,防止php该 ...

  2. 读取csv时中文乱码问题

    最近遇到csv读取出现乱码的问题,研究了下.主要原因是系统不认识读取后数据的编码格式. 从Windows 2000之后的操作系统在文件处理时默认编码采用Unicode,所以.Net 的文件默认编码也是 ...

  3. 使用Fastdfs上传文件时出现中文乱码。工具类中的this.getClass().getResource(“/“).getPath()获取配置文件的路径时中文乱码。

    报错: Exception in thread "main" org.csource.common.MyException: item "tracker_server&q ...

  4. 计算机读光盘出现乱码,解决刻录音乐光盘mp3出现中文乱码的方法

    图片: 图片: 图片: 图片: 图片: 1.目前,很多人自己刻录音乐光盘以便在车载播放器里播放,但往往刻录出来的CD光盘会显示乱码,导致播放出来的音乐看不到是什么歌名和哪个歌手唱的.用nero等刻录音 ...

  5. html传递json中文乱码,解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码...

    解决方法一: @RequestMapping(value="/getphone",produces = "text/plain;charset=utf-8") ...

  6. java中用字节流读取文本时中文乱码

    字节流可以读取任何文件,视频流:音频流都可以: 字符流只能读取字符: 说明:一般的汉字是2个字节,而英语字母是1个字节,如果用字节流读取中文,一个字节一个字节的输出,容易把中文汉字截断,建议用字符流读 ...

  7. linux unzip乱码,Linux 中unzip解压时中文乱码的解决办法

    Linux 中unzip解压时中文乱码的解决办法 Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的压缩包如"资料.zip"时,如果直接使 ...

  8. 解决Node.js 运行的时候出现中文乱码问题

    解决Node.js 运行的时候出现中文乱码问题 一.问题:出现如下乱码 二.解决方案 因为在服务器发送数据,其实是utf-8编码内容 ,但是浏览器不知道你是utf-8编码内容, 浏览器在不知道服务器响 ...

  9. node.js:fs.open 和 fs.write 读取文件和改写文件

    node.js fs.open 和 fs.write 读取文件和改写文件 Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require( ...

最新文章

  1. 马云:员工的离职原因--转载
  2. maven 构建web程序出现问题
  3. 【多网段切换导致DNS域名解析失败问题处理】
  4. java 二维数组倒置_Java数组反转及二维数组
  5. [零基础学JAVA]Java SE应用部分-35.JAVA类集之二
  6. linux 容器_Linux容器的幕后花絮
  7. 1-4 多文档界面处理(2)
  8. Ubuntu系统下环境变量那些事儿
  9. android 使用so库,Android 使用SO库
  10. 第一部分 第三章 1039-1058 答案合集
  11. 淘宝商品类目查询方法怎样查看别人商品的类目淘宝类目查询工具软件
  12. jdk8官网下载地址
  13. 华为手机桌面有计算机的数字,华为手机桌面上信息图标上显示的数字角标如何关闭...
  14. Qt 之 QSS(黑色炫酷)
  15. 基于javaweb的高校运动会管理系统(java+ssm+jsp+js+jquery+mysql)
  16. office右键没有新建word,Visio等解决办法
  17. 人际沟通交流技巧(转)
  18. Android自定义键盘(KeyboardView)
  19. Yii2 User 登录原理
  20. 大数据股票接口怎么获取比较全面的股票信息?

热门文章

  1. weex Android 空白,Weex H5显示正常,android和ios皆显示一片空白,为什么呢?
  2. 微型计算机滑动平均值滤波器方程,微型计算机控制技术期末复习2011.ppt
  3. php引用类失败,php – 致命错误:调用未定义的方法stdClass
  4. Nginx之简介与安装(一)
  5. python blp模型 估计_第三章 BLP模型(Bell-La Padula模型) | 学步园
  6. 谷歌浏览器异步请求后台session变了_session打爆面试官
  7. Python Train_机器学习--基于Python的简单线性回归
  8. java 不用if_Java 不用for不用if写出九九乘法表算法
  9. matlab消去前一个图,各位matlab高手,如何从2个3元方程中消去一个变量,然后做3维图形~...
  10. 关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别