<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        nodejs讀取本地中文json文件出現亂碼解決方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:06:21
        文檔

        nodejs讀取本地中文json文件出現亂碼解決方法

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

        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:

      1. data= data.replace(/^\uFEFF/, ''); perhttps://github.com/joyent/node/issues/1918#issuecomment-2480359
      2. Transform the incoming stream to remove the BOM header with the NPM module bomstrip perhttps://github.com/joyent/node/issues/1918#issuecomment-38491548
      3. 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來讀取文件之后依然報錯,百思不得其解。

        最后發現json有兩個editor沒有發現的格式錯誤,一個是一個數組中兩個元素之間少了一個“,”,另一個是另一個數組最后多了一個“,”。

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

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

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

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

        nodejs讀取中文文件編碼問題

        準備一個文本文件(當然也可以是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);  

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

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

        文檔

        nodejs讀取本地中文json文件出現亂碼解決方法

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 最近中文字幕mv免费高清在线| 亚洲AV无码无限在线观看不卡 | 亚洲嫩草影院久久精品| 一级毛片在线免费视频| 亚洲国产一区二区三区| 免费无码午夜福利片| 亚洲国产成人久久笫一页| 国产亚洲漂亮白嫩美女在线| 免费A级毛片在线播放不收费| 国产亚洲精品成人久久网站| 亚洲欧洲中文日韩久久AV乱码| 一级毛片在线播放免费| 亚洲成A人片777777| 99久久免费观看| 亚洲国产精品综合久久20| 插B内射18免费视频| 国产青草亚洲香蕉精品久久| 亚洲日本va午夜中文字幕久久| 成在人线av无码免费高潮水| 日韩亚洲人成在线综合日本 | 99久久免费中文字幕精品| 亚洲国产午夜精品理论片| 狼友av永久网站免费观看| 黄网站在线播放视频免费观看| 国产亚洲日韩一区二区三区| 无码免费一区二区三区免费播放| 亚洲综合激情另类小说区| 青青草国产免费久久久下载| 日本特黄特色AAA大片免费| 亚洲Aⅴ无码专区在线观看q| 99re热免费精品视频观看| 国产亚洲成在线播放va| 亚洲欧洲国产精品你懂的| 天天摸天天操免费播放小视频| 日韩一级片免费观看| 99ri精品国产亚洲| 日本免费网站在线观看| 久久国产精品成人免费| 亚洲女子高潮不断爆白浆| 国产偷v国产偷v亚洲高清| 成人免费视频软件网站|