摘要:而且下載的內(nèi)容如果有中文字符的話還有亂碼的現(xiàn)象。接下來就是介紹一下兩個(gè)庫可以解決我們的問題,一個(gè)是可以通過的數(shù)據(jù)去生成文件的內(nèi)容,然后在,另外一個(gè)庫則是用來把內(nèi)容的編碼轉(zhuǎn)換為格式,這樣一來就能夠解決中文亂碼的問題。
前言
之前有個(gè)項(xiàng)目中使用到了一個(gè)前端的download.js庫,主要是用來拼接內(nèi)容然后生成一個(gè).txt或者.csv等文件讓用戶下載,不過目前這個(gè)庫不支持了chrome和safari等webkit內(nèi)核的瀏覽器了。而且下載的內(nèi)容如果有中文字符的話還有亂碼的現(xiàn)象。
用 Node.js 生成 csv 文件想使用Node.js來生成 csv 文件的話,可以自己拼接好內(nèi)容后通過fs.writeFile來寫入一個(gè)文件。不過還是有個(gè)問題,如果有中文字符的還是會(huì)出現(xiàn)亂碼的情況。
接下來就是介紹一下兩個(gè)庫可以解決我們的問題,一個(gè)是json2csv 可以通過json的數(shù)據(jù)去生成csv文件的內(nèi)容,然后在fs.writeFile,另外一個(gè)庫則是iconv-lite用來把內(nèi)容的編碼轉(zhuǎn)換為GBK格式,這樣一來就能夠解決中文亂碼的問題。
還有一個(gè)值得一提的,就是有其他的小伙伴會(huì)用iconv這個(gè)庫,不過我發(fā)現(xiàn)我使用npm還是cnpm都安裝不上,所以就使用了iconv-lite這個(gè)庫。可以注意一下這個(gè)問題。
貼一個(gè)實(shí)例:
var json2csv = require("json2csv"); var iconv = require("iconv-lite"); var fs = require("fs"); var fields = ["field1", "field2", "field3"]; // 這里的內(nèi)容是不支持中文的。 var myData = { "field1": "field1", "field2": "field2", "field3": "field3", }; json2csv({ data: myData, fields: fields }, function(err, csv) { if (err) console.log(err); var newCsv = iconv.encode(csv, "GBK"); // 轉(zhuǎn)編碼 fs.writeFile("demo.csv", newCsv, function (err) { if (err) console.log(err); console.log("Saved done!"); }); });相關(guān)連接
怎么解決數(shù)據(jù)保存到csv文件亂碼問題
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/86192.html
摘要:平臺(tái)自帶導(dǎo)出結(jié)果的功能,但是運(yùn)營在使用導(dǎo)出的時(shí)候,直接打開文件總會(huì)發(fā)現(xiàn)中文亂碼的情況,小弟現(xiàn)將發(fā)現(xiàn)的解決方案提供在此,下面搞起來導(dǎo)出默認(rèn)編碼為,如果需要修改編碼類型需要修改兩個(gè)地方。修改修改把原來的替換成重啟搞定 superset平臺(tái)自帶csv導(dǎo)出query結(jié)果的功能,但是運(yùn)營在使用csv導(dǎo)出的時(shí)候,直接打開csv文件總會(huì)發(fā)現(xiàn)中文亂碼的情況,小弟現(xiàn)將發(fā)現(xiàn)的解決方案提供在此,下面搞起來~...
摘要:爬蟲數(shù)據(jù)寫入文件中文亂碼,用在中打開文件沒有問題,但是用打開卻出現(xiàn)了問題,以下為解決方法。 python爬蟲數(shù)據(jù)寫入csv文件中文亂碼,用’utf-8‘在pycharm中打開文件沒有問題,但是用excel打開卻出現(xiàn)了問題,以下為解決方法。 (最近在練習(xí)爬蟲,這個(gè)博文是對(duì)自己學(xué)習(xí)的記錄和分享,...
摘要:問題生成文件到目錄下并下載,下載后發(fā)現(xiàn)文件亂碼。解決這里我們只要在文件的開始輸出頭,告訴文件的編碼方式,從而讓打開時(shí)采用正確的編碼。第一種在所有內(nèi)容之前輸出第二種也可以直接寫入到文件最前端什么是參考百度百科鏈接 問題 生成CSV文件到/tmp目錄下并下載,下載后發(fā)現(xiàn)文件亂碼。 解決 這里我們只要在文件的開始輸出BOM頭,告訴windows CSV文件的編碼方式,從而讓Excel打開CS...
摘要:之前在寫一個(gè)簡單的分班程序的時(shí)候,使用如下命令行讀取文件出現(xiàn)了報(bào)錯(cuò)含義為程序由于文件編碼問題無法讀取文件。該行聲明了該程序讀取文件的編碼格式為。如仍報(bào)錯(cuò),可使用方法二解決。第二種使用命令,修改后文件出現(xiàn)亂碼。 注:該文章基于mac環(huán)境。 之前在寫一個(gè)簡單的分班程序的時(shí)候,使用如下命令行讀取csv文件, with open(city.csv) as f: lines = f.re...
摘要:亂碼的原因和字符編碼不同版本要求的字符編碼不同,以上,可能有錯(cuò)誤除了字符編碼還有文件頭的影響解決方案,用打開導(dǎo)出的文件,另存為時(shí)選擇如果亂碼就選擇,在用打開另存為的文檔,在導(dǎo)出的文件的開始地方,如表頭處加上,如序號(hào)有以下幾種 亂碼的原因:bom和字符編碼不同excel版本要求的字符編碼不同,2010以上utf8,2007ansi(可能有錯(cuò)誤)除了字符編碼還有文件頭bom的影響 解決方案...
閱讀 775·2023-04-25 16:55
閱讀 2806·2021-10-11 10:59
閱讀 2070·2021-09-09 11:38
閱讀 1782·2021-09-03 10:40
閱讀 1485·2019-08-30 15:52
閱讀 1125·2019-08-30 15:52
閱讀 954·2019-08-29 15:33
閱讀 3494·2019-08-29 11:26