Node.js 是一種基於 Chrome V8 引擎的 JavaScript 執行階段。它的優點之一是能夠輕鬆地使用 JavaScript 來建立伺服器端應用程序,這使得它成為了建立 Web 應用程式的一種流行選擇。然而,在使用 Node.js 輸出中文字元時,有時候會遇到亂碼的問題。
造成 Node.js 輸出中文亂碼的原因很多,以下我們將會列舉一些可能的原因以及解決方法。
Node.js 預設使用 UTF-8 編碼,但在某些情況下可能會使用其他編碼方式,導致輸出中文字元時出現亂碼。
解決方法:可以使用 console.log()
函數,在輸出前先使用 Buffer
方法將要輸出的字元集轉換為 UTF-8。
console.log(Buffer.from('Hello World', 'utf8').toString('hex')); // e6849fe696873a20476f726c64
有些終端如果不設定字符集,就無法正確地顯示輸入的字符,會導致輸出中文字符時產生亂碼。
解決方法:在終端機中設定字元集,例如在 Windows 命令提示字元下使用 chcp 65001
命令。如果使用 Mac OS 或 Linux,則可以在終端機的設定中選擇使用 UTF-8 編碼。
當使用Node.js 內建的fs
模組讀取或寫入文字檔案時,如果沒有正確指定檔案編碼方式,就會導致輸出中文字元時出現亂碼。
解決方法:指定檔案的編碼方式,例如:
fs.readFile('test.txt', 'utf8', function(err, data) { if (err) throw err; console.log(data); });
res.setHeader('Content-type', 'text/html;charset=utf-8'); res.write('<html><head><title>你好</title></head><body>你好</body></html>'); res.end();
以上是nodejs 輸出中文亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!