1、Node环境当中不支持GBK编码

node.js当中的Buffer对象支持的编码格式的种类有限,大概有asciiutf8utf16leucs2base64binaryhex。不支持GBK的编码形式。对于windows系统来说,由于历史原因,许多文件默认的编码格式均为GBK

比如我们在windows系统性新建一个文本文档,在其内部编辑完中文内容之后,在设置保存时,可以看到其默认的编码格式为ANSI,即为GBK

将这个以GBK编码格式编辑的文本文件移动到项目文件夹当中,使用node当中的fs模块对其进行读取其文本内容。由于不支持GBK的编码,故会出现如下报错信息。

对于那些我们无法改变其编码格式的文件,又需要使用node来操作其文件内容的,我们需要引用iconv-lite来帮助我们解决编码转换的问题。

2、iconv-lite的使用

iconv-lite用于在node当中处理在各种操作系统出现的各种奇特编码,该模块不提供读写文件的操作,只提供文件编码转换的功能。
1、下载模块包
在当前项目文件夹的目录下打开cmd,在控制台输入命令->npm install iconv-lite

2、引包并使用
使用const iconvLite = require('iconv-lite');来引用。在fs模块读取文件结束之后的回调函数当中,对于data参数(对应文件的内容)的处理为iconvLite.decode(data,'gbk');。即代表对于默认为buffer形式的data当中的内容以gbk的形式解码成一个默认为utf8编码格式的字符串。

使用iconv-lite解决node当中不支持GBK编码的问题相关推荐

  1. mysql 支持gbk_MySQL不支持GBK编码的解决方法

    Linux下用packages安装的MySQL5.1,不支持GBK编码,只支持UTF8编码.具体表现: 在打开一个用GBK编码的数据库时,提示 ERROR 1273 (HY000): Unknown ...

  2. 让ubuntu下的eclipse支持GBK编码

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://leaze.blog.51cto.com/83088/195584 今天,把win ...

  3. mysql gbk支持_mysql如何支持gbk编码

    mysql支持gbk编码的方法:首先修改[my.cnf]文件:然后建立库表时指定gbk字符集,代码为[>show cereate table tablename]:最后修改jdbc驱动即可. m ...

  4. CentOS下Apache环境支持GBK编码解决网页乱码问题

    为什么80%的码农都做不了架构师?>>>    问题描述 在CentOS系统中采用Apache服务器安装GBK编码的程序出现乱码,这主要是因为默认安装的Apache服务器字符编码为U ...

  5. mac下html编辑器,【已解决】Mac下好用的支持GBK编码的文本代码编辑器

    Mac中已安装了Sublime Text 3和ATOM编辑器,但是对于从Windows拷贝过来的,GBK编码的文本支持都不好: 打开后,中文是乱码: 但是Mac中的 文本编辑器,却是可以正常打开的: ...

  6. 如何让Sublime Text2支持GBK编码

    有人说可以通过GBK包解决,但是在我这边尝试了之后没反应,好像没成功. 安装方法和 安装zen coding 一样,安装好Package Control之后,通过快捷键[ctrl+shift+p]调出 ...

  7. gbk编码程序如何设置linux系统,让linux支持gbk编码

    网上看到到的方法,记录以备用. 在英文Locale下的Ubuntu 无法正常显示XP下GBK编码的中文 编辑/etc/environment文件 添加LC_CTYPE="zh_CN.GBK& ...

  8. sublime报错信息乱码_解决Sublime Text 3在GBK编码下的中文乱码问题

    按ctrl+~快捷键,调出一个小文本款,然后粘贴以下代码: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e6240 ...

  9. sublime3不支持GBK导致中文乱码

    sublime3默认没有GBK的编码,所以如果我们用它打开GBK编码的文件,就会乱码.解决方式是装个插件让它能支持GBK编码. 首先我们需要装package control,它是负责装插件的工具.如果 ...

最新文章

  1. xebium周末启动_我如何在周末建立和启动聊天机器人
  2. LIst和map的遍历
  3. linux设备模型bus,device,driver,(kobject、ktype、kset,bus_type、device、device_driver)
  4. python编程快速上手-----让繁琐工作自动化_每周一书《Python编程快速上手 让繁琐工作自动化》分享!...
  5. jQuery中Map的使用
  6. SAP信贷出口(用户1,2,3)
  7. WPF自定义命令(转)
  8. 行云管家堡垒机 导入腾讯云主机
  9. OpenCV4.0-alpha发布!新增多个深度学习特性
  10. Tiktok玩家的一些建议
  11. 在html或asp.net中使用FlexPaper
  12. 饭后小甜点leetcode——哈希表
  13. nestjs+vue+ts打造一个酷炫的星空聊天室(含完整数据库设计)
  14. 设置日语输入法遇到的各种问题
  15. 小程序审核失败:你的小程序涉及提供播放、观看等服务,请补充选择:文娱-其他视频类目。怎么解决呢
  16. 9个超好用的学习网站,都是充实课余知识的首选
  17. python读word文档计算字数,Python: Word(docx)文档词频统计
  18. 中国数据标注公司排名前十强有哪些?
  19. 3288 配置声卡芯片
  20. 简述this 和supper 的区别

热门文章

  1. leetcode551. 学生出勤记录 I
  2. Redis:03---Redis的启动与配置参数大全
  3. 《Python Cookbook 3rd》笔记(3.13):计算最后一个周五的日期
  4. 《Java8实战》笔记(02):通过行为参数传递代码
  5. STL源码剖析 关联式容器 红黑树
  6. C++boost Class named_condition翻译
  7. 数学建模 割平面算法求解整数规划基本原理与编程实现
  8. 支撑4.5亿活跃用户的WhatsApp架构概览
  9. 音视频互动平台--P2P通信技术
  10. Ubuntu将在明年推出平板及手机系统