node讀取本地文件中文亂碼

node讀取本地文件

let title = fs.readFileSync('./server/assets/title.txt', 'utf-8');

由于Node環(huán)境當中不支持GBK編碼荷并,此時讀到的文件合砂,英文可讀取,但中文亂碼

node.js當中的Buffer對象支持的編碼格式的種類(支持的格式:ascii璧坟、utf8既穆、utf16le、ucs2雀鹃、base64幻工、binary、hex)有限黎茎,不支持GBK的編碼形式囊颅。

解決辦法
iconv-lite用于在node當中處理在各種操作系統(tǒng)出現(xiàn)的各種奇特編碼,該模塊不提供讀寫文件的操作傅瞻,只提供文件編碼轉換的功能踢代。

npm install iconv-lite

const fs = require('fs');
const iconv = require('iconv-lite');
let title = fs.readFileSync('./server/assets/title.txt', {encoding:'binary'});
let restitle = iconv.decode(title, 'gbk');

restitle即為txt文檔中的中文

此時會出現(xiàn)一個警告
Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding

上面這個github中給出了詳細解釋,大概意思是說
在使用iconv.decode功能進行解碼之前嗅骄,原始資源(無意間)已經(jīng)body += chunk通過javascript類型轉換進行了解碼胳挎。
雙重解碼不僅會導致錯誤的結果,而且?guī)缀醪豢赡芑謴驮甲止?jié)溺森,因為utf8轉換是有損的慕爬,因此即使這樣做也iconv.decode(new Buffer(body, 'utf8'), 'win1252')無濟于事。

不是很明白屏积,但有個忽略警告的方法

iconv.skipDecodeWarning = true;

使用前說明一下忽略警告医窿,就不會報錯

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炊林,隨后出現(xiàn)的幾起案子姥卢,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件独榴,死亡現(xiàn)場離奇詭異僧叉,居然都是意外死亡,警方通過查閱死者的電腦和手機括眠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門彪标,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掷豺,你說我怎么就攤上這事”∩” “怎么了当船?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長默辨。 經(jīng)常有香客問我德频,道長,這世上最難降的妖魔是什么缩幸? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任壹置,我火速辦了婚禮,結果婚禮上表谊,老公的妹妹穿的比我還像新娘钞护。我一直安慰自己,他們只是感情好爆办,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布难咕。 她就那樣靜靜地躺著,像睡著了一般距辆。 火紅的嫁衣襯著肌膚如雪余佃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天跨算,我揣著相機與錄音爆土,去河邊找鬼。 笑死诸蚕,一個胖子當著我的面吹牛步势,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挫望,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼立润,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了媳板?” 一聲冷哼從身側響起桑腮,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蛉幸,沒想到半個月后破讨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丛晦,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年提陶,在試婚紗的時候發(fā)現(xiàn)自己被綠了烫沙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡隙笆,死狀恐怖锌蓄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撑柔,我是刑警寧澤瘸爽,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站铅忿,受9級特大地震影響剪决,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜檀训,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一柑潦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峻凫,春花似錦渗鬼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铭腕,卻和暖如春银择,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背累舷。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工浩考, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人被盈。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓析孽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親只怎。 傳聞我的和親對象是個殘疾皇子袜瞬,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354