1

我正在使用 node.js 和 express 将静态 JavaScript 文件提供给单页应用程序。在 node.js 服务器代码中,我使用 express.static 来允许公共访问文件夹

app.use(express.static(__dirname + '/public/'));

在客户端,我使用$.getScript获取存储在 public 文件夹中的 JavaScript 文件,例如:

$.getScript("js/init.js");

当我尝试获取一些带有重音字母或一些 UTF-8 特殊字符的 JavaScript 文件时,我得到了奇怪的字符,而不是我想要的。

当我定义公用文件夹时,有什么方法可以设置字符集?

4

2 回答 2

3

使用 node.js 提供静态文件的最简单方法是什么?给了我在静态之前插入你自己的中间件的提示。

下面的代码查找*.js文件并将字符集设置为 utf-8。

app.use(function(req, res, next) {
  if (/.*\.js/.test(req.path)) {
    res.charset = "utf-8";
  }
  next();
});
app.use(express.static(__dirname + '/public/'));

完成此操作后,查找以下响应标头。

Content-Type: application/javascript; charset=utf-8
于 2013-08-10T23:48:51.047 回答
0

在您的 html 页面中,必须有与资源文件的编码相同的编码(或相反)

确保在 head 部分设置元标记:

<meta charset='utf-8'></meta>
于 2012-12-30T23:10:27.197 回答