Nodejs开发指南遇到的问题中文乱码
Nodejs开发指南遇到的问题中文乱码
index.ejs中有中文字符,打开首页的时候中文字符都是乱码,这个怎么更改使中文正常显示,是要在app.js中更改还是index.js。。。初学,请高手指教一下!
        
          5 回复
        
      
      
        确保你的meta里面的字符编码和文件保存的编码都是无bom的utf-8
把 js 文件保存成 utf-8 格式即可。
支持这种基本的编码习惯
在 Node.js 应用中遇到中文乱码问题通常与字符编码设置有关。在你的例子中,index.ejs 模板文件中的中文字符显示为乱码,可能是由于以下几个原因:
- 文件编码不一致:确保 
index.ejs文件保存为 UTF-8 编码。 - HTTP 响应头的字符集设置:确保 HTTP 响应头正确设置了字符集为 UTF-8。
 
示例代码
1. 确保文件编码
确保 index.ejs 文件使用 UTF-8 编码保存。你可以使用文本编辑器(如 VSCode)来检查和修改文件的编码格式。
2. 设置响应头字符集
在你的 Express 应用中,在发送响应之前,确保设置正确的 Content-Type 头,并包含字符集信息。
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
    res.setHeader('Content-Type', 'text/html; charset=utf-8'); // 设置字符集
    res.render('index', { message: "你好,世界" });
});
app.listen(3000, () => {
    console.log('Server is running on port 3000');
});
3. EJS 渲染配置
确保在渲染 EJS 模板时没有遗漏字符集的设置。
解释
- 文件编码:确保所有模板文件使用统一的 UTF-8 编码,以避免编码问题。
 - 响应头设置:通过 
res.setHeader方法设置响应头中的Content-Type字符集为utf-8,这告诉浏览器如何解析响应体中的字符。 
通过以上步骤,你应该能够解决中文乱码的问题。如果问题仍然存在,请检查是否有其他中间件或配置影响了字符编码。
        
      
                    
                  
                    

