1

我搜索了很多,但找不到解决我的问题的方法。

我的应用程序使用 i18next,它工作正常,除了一个问题:德语变音符号 (ü,ö,ä) 显示为�。

我不明白我是不是弄错了,因为这个示例应用程序对变音符号没有问题:http ://i18next-example1.eu01.aws.af.cm/?setLng=de-DE (github:https:// github.com/rbeere/i18next-jade-express-sample

我怎样才能弄清楚这个?

4

1 回答 1

4

罪魁祸首可能是:

  • Translation.json文件未保存为 UTF8。
  • 如果使用任何特定字体,它们的 Unicode 支持非常有限(现代字体不太可能出现这种情况)。
  • layout.jade文件没有声明页面编码。因此,由浏览器自动检测它。无论这是否解决了问题,在标题中声明页面编码都是一个好习惯:

    meta(http-equiv="Content-Type",content="text/html; charset=utf-8")
    
  • Content-TypeHTTP 标头字段设置不正确。按如下方式更改 HTTP 响应:

    app.get('/', function(req, res) {
         res.header("Content-Type", "text/html; charset=utf-8");
         res.render('index', { title: 'Localization with Express, Jade and i18next-node'});
    });
    
于 2013-08-16T17:54:25.727 回答