国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:06:21
文檔

nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法

nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法:1. 確定json文件是UTF-8 無BOM編碼的的。如果有BOM,會在讀取第一行的時候出現(xiàn)亂碼。 Per fs.readFileSync(filename, 'utf8') doesn't strip BOM markers #1918, fs.readFile is working as designed: BOM is
推薦度:
導(dǎo)讀nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法:1. 確定json文件是UTF-8 無BOM編碼的的。如果有BOM,會在讀取第一行的時候出現(xiàn)亂碼。 Per fs.readFileSync(filename, 'utf8') doesn't strip BOM markers #1918, fs.readFile is working as designed: BOM is

1. 確定json文件是UTF-8 無BOM編碼的的。如果有BOM,會在讀取第一行的時候出現(xiàn)亂碼。

Per "fs.readFileSync(filename, 'utf8') doesn't strip BOM markers #1918", fs.readFile is
working as designed: BOM is not stripped from the header of the UTF-8 file, if it exists. It at the discretion of the developer to handle this.

Possible workarounds:

  • data= data.replace(/^\uFEFF/, ''); perhttps://github.com/joyent/node/issues/1918#issuecomment-2480359
  • Transform the incoming stream to remove the BOM header with the NPM module bomstrip perhttps://github.com/joyent/node/issues/1918#issuecomment-38491548
  • What you are getting is the byte order mark header (BOM) of the UTF-8 file. When JSON.parse sees
    this, it gives an syntax error (read: "unexpected character" error). You must strip the byte order mark from the file before passing it to JSON.parse:

    fs.readFile('./myconfig.json', 'utf8', function (err, data) {
     myconfig = JSON.parse(data.toString('utf8').replace(/^\uFEFF/, ''));
    });
    // note: data is an instance of Buffer
    

    2. 確定json沒有格式錯誤。我在用utf8編碼并用utf8 encoding來讀取文件之后依然報錯,百思不得其解。

    最后發(fā)現(xiàn)json有兩個editor沒有發(fā)現(xiàn)的格式錯誤,一個是一個數(shù)組中兩個元素之間少了一個“,”,另一個是另一個數(shù)組最后多了一個“,”。

    注1:Node的iconv模塊,僅支持linux,不支持Windows,因此要用純js的iconv-lite,另:作者說iconv-lite的性能更好,具體參考Git站點:iconv-lite

    注2:我在測試讀寫文件時,始終無法把中文寫入文件,一直亂碼,讀取正常,后來同事幫我發(fā)現(xiàn):js文件的編碼格式是ansi,nodejs的代碼文件必須是utf8格式

    注3:如果程序操作的文件,都是以UTF8編碼格式保存的,那么就不需要使用iconv模塊,直接以utf8格式讀取文件即可,如:

    // 參數(shù)file,必須保存為utf8格式,否則里面的中文會亂碼  
    function readFile(file){  
        // readFile的第2個參數(shù)表示讀取編碼格式,如果未傳遞這個參數(shù),表示返回Buffer字節(jié)數(shù)組  
        fs.readFile(file, "utf8", function(err, data){  
            if(err)  
                console.log("讀取文件fail " + err);  
            else{  
                // 讀取成功時  
                console.log(data);// 直接
    輸出中文字符串了           }       });   }

    nodejs讀取中文文件編碼問題

    準(zhǔn)備一個文本文件(當(dāng)然也可以是csv文件等)test.txt和text.csv,nodejs文件test.js如下:

    var iconv = require('iconv-lite');  
      
    var fs = require('fs');  
    var fileStr = fs.readFileSync('D:\\test.csv', {encoding:'binary'});  
      
    var buf = new Buffer(fileStr, 'binary');  
      
    var str = iconv.decode(buf, 'GBK');  
    console.log(str);  

    直接讀文件的話是亂碼,不信你可以試試。需要先統(tǒng)一用二進(jìn)制編碼方式讀取,然后再用GBK解碼。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法

    nodejs讀取本地中文json文件出現(xiàn)亂碼解決方法:1. 確定json文件是UTF-8 無BOM編碼的的。如果有BOM,會在讀取第一行的時候出現(xiàn)亂碼。 Per fs.readFileSync(filename, 'utf8') doesn't strip BOM markers #1918, fs.readFile is working as designed: BOM is
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美一欧美一区二三区性 | 国产 日韩 欧美 在线 | 国产精品视频专区 | 97久久精品午夜一区二区 | 九色91丨porny加精 | 亚洲一区二区三区成人 | 欧美人与禽zozzo性伦交 | 日韩在线视频免费播放 | 欧洲日韩视频二区在线 | 孕交videos小孕妇xx另类 | 在线h片| 午夜一区二区三区 | 日韩专区亚洲综合久久 | 亚洲 欧美 日韩在线一区 | 亚洲欧洲高清 | 午夜国产在线视频 | 欧美亚洲国产精品 | 成人亚洲国产综合精品91 | 国产又大又粗又猛又爽的视频 | 亚洲色图欧美自拍 | 精品二区 | 国产精品视_精品国产免费 国产精品视频第一区二区三区 | 欧美中文娱乐网 | 在线视频一二三区2021不卡 | 亚洲小视频在线 | 91精品啪国产在线观看免费牛牛 | 亚洲欧洲另类 | 国产日本在线 | 亚洲欧美国产精品专区久久 | 国产 日韩 欧美 亚洲 | 天堂精品高清1区2区3区 | 国产成人精品一区二区免费视频 | 国产欧美日韩在线观看 | 国产精品成人一区二区不卡 | 精品伊人久久久 | 毛片国产 | 亚洲情a成黄在线观看动 | 日本三级电影网址 | 欧美福利在线观看 | 日本伊人久久 | 国产成人精品综合久久久 |