node.js在讀取檔案時中文亂碼問題
斷更很久了........從今天開始會努力的持續更博,積極學習。
言歸正傳。今天在寫node.js的demo時發現一個bug。我在node中讀取本地的text檔案時,發現英文的內容可以被讀取,但是中文的就顯示的是亂碼。如下圖
產生這種問題的原因是:
Windows下預設的編碼格式是ASNI,其實這並不是真正的編碼格式。但Node.JS預設的編碼,解碼則是目前通用的UTF-8。因此在讀取Windows預設的TXT檔案時會顯示亂碼。當然,這個問題在linux系統上就不會有這個問題。
解決方案有兩個
方案一:簡單粗暴的將被讀取的檔案的編碼設定為UTF-8
方案二:安裝iconv-lite模組——npm install iconv-lite。
安裝完成後進行測試
問題解決:
謝謝採納,如果有更好的方案或者我出錯了,歡迎留言指正!
相關推薦
node.js在讀取檔案時中文亂碼問題
斷更很久了........從今天開始會努力的持續更博,積極學習。 言歸正傳。今天在寫node.js的demo時發現一個bug。我在node中讀取本地的text檔案時,發現英文的內容可以被讀取,但是中文的就顯示的是亂碼。如下圖 產生這種問題的原因是: Windows下預設的編碼格式是AS
以位元組流讀取檔案時中文亂碼解決(二)
在上一節中說明了每次讀取一個位元組時亂碼解決方法,這一節我將闡述每次讀取多個位元組亂碼的解決。 問題: 中文字元佔2個位元組,非中文佔一個位元組 例如:"abc中國" 當我們以每四個位元組
C#讀取txt檔案時中文亂碼
解決辦法 使用GB2312中文字符集 StreamReader reader = new StreamReader(txtUrl, Encoding.GetEncoding(“gb2312”)); 或使用utf-8中文字符集 StreamReader r
_148_Java_java中用位元組流讀取文字時中文亂碼
注:編寫的程式碼和讀取的文字字元編碼要一致.無論緩衝的byte[]長度是多少都可以讀取 複製以下程式碼,設定要讀取的文字,可以直接執行. import java.io.*; public class Test8 { /* * ==>本java檔案採用的編碼(GB
node.js 讀取檔案目錄下的所有檔案,JS讀取檔案目錄
檔案目錄結構如下圖: 程式碼1.js: 進入test目錄: 進入ch目錄: 1.js: var fs = require('fs'); var join = require('path').join; function getJsonFile
node.js 讀取檔案副方式
非同步 var fs=require('fs'); fs.readFile('file.txt', 'utf-8', function(err,data){ if(err){ console.error(err); } else{ console.log(data); }
Node.js呼叫cmd輸出中文亂碼
在Windows上使用Node.js通過cmd呼叫別人的exe程式,結果發現輸出中文亂碼,程式碼如下: const { exec } = require('child_process'); exec('cmd_test.exe', { encoding:
java中用位元組流讀取文字時中文亂碼
位元組流可以讀取任何檔案,視訊流;音訊流都可以; 字元流只能讀取字元; 說明:一般的漢字是2個位元組,而英語字母是1個位元組,如果用位元組流讀取中文,一個位元組一個位元組的輸出,容易把中文漢字截斷,建議用字元流讀取; import Java.io.*; publ
FeilUtils---下載檔案時中文亂碼
import java.io.IOException; import java.net.URLEncoder; import sun.misc.BASE64Encoder; public clas
springboot jar包形式下讀取檔案內容中文亂碼問題
前幾天做專案發現了這個問題 打成jar包之後和idea下執行會產生一些意外的錯誤,找了各方資料才解決掉。 1.jar包下普通檔案路徑找不到檔案的問題 最後我解決方案是檔案存放在resources下
輸入輸出流的讀取輸出 .txt 檔案的 中文亂碼問題 未解決
package interview; import java.io.*; public class TestInOrOutStream { public static void main(String[] args) { int c; try { I
Java讀取檔案時第一行出現亂碼“?”問號
我們在使用Java在讀取檔案(txt、dat等)時,如果檔案不是utf-8格式的話,讀取結果會出現,中文字元變亂碼的情況,所以一般在讀取時轉為UTF-8格式讀取。 但這時會出現一種情況,第一次讀取第一行第一個字元時會出現“?”的亂碼這個是java本身編碼格式轉換的問題,可以採用一下方式解決:
node.js 執行的時候中文總是出現亂碼怎麼辦?
最近在學習node.js ,在編輯器裡面也設定了utf-8的編碼模式,但是在瀏覽器執行的時候還是會出現亂碼 類似於這樣 浣犲ソ 看不懂得鳥語,在檢視官方文件以後,加上這句話之後就沒有亂碼了(可以用setHeader() 方法:具體語句如下:res.setHeader("Content-Ty
輸入輸出流的讀取輸出 .txt 檔案的 中文亂碼問題 未解決
package interview; public class TestInOrOutStream { public static void main(String[] args) { int c; try { InputSt
SpringCloud專案上傳檔案時中文檔名亂碼,檔案下載
一、檔案上傳亂碼 SpringCloud,路由zuul。 今天在做一個上傳檔案的功能,檔案傳到後臺getOriginalFilename()時檔名中文亂碼。 嘗試了以下2種辦法都不行: 對檔名重新編碼:fileName = new String(fil
Android讀取檔案時,由byte轉成String字串時出現亂碼
先看看出亂碼的程式碼 public static void getInfo(Context context) { try { FileInputStream
表單提交時js&java暴力解決中文亂碼
頁面: var data = encodeURIComponent(data); 伺服器: String data = URLDecoder.decode(URLDecoder.decode(
解決python中用zipfile解壓縮檔案時中文檔名亂碼的問題
來源:http://blog.sina.com.cn/s/blog_5805e98101012uzv.html 萬惡的編碼!!!!!!!!!! 學習 python 2.x 時就被時不時出現的中文亂碼問題搞得頭大,無奈用起來資料挺少、支援不多的 python 3.x,沒
解決Navicat 執行.sql檔案時中文出現亂碼 不能顯示中文
本人第一使用navicat時,直接執行.sql時,中文出現了亂碼,如圖所示:後來通過查資料才明白,是因為自己執行.sql檔案步驟有問題,沒有設定編碼格式,所以下面介紹正確的編碼步驟:第一步:想執行.sql檔案,必須選中資料庫才行,因為.sql執行後生成的表是存在於指定資料庫內
MyEclipse/Eclipse讀取屬性配置檔案出現中文亂碼的問題的解決
主要問題原因是:無論怎麼設定工作環境的編碼,配置檔案properties在編輯和儲存時,MyEclipse/Eclipse預設儲存為ISO-8859-1 所以根本原因是在編輯儲存properties檔案時,儲存為想要的格式,比如UTF-8; 首先在Eclipse下