如何让i18next-node以正确的方式显示变音符号?

时间:2013-08-16 16:18:31

标签: node.js internationalization express i18next

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

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

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

我怎么能想出这个呢?

1 个答案:

答案 0 :(得分:4)

罪魁祸首可能是:

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

    meta(http-equiv="Content-Type",content="text/html; charset=utf-8")
    
  • Content-Type未正确设置HTTP标头字段。按如下所示更改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'});
    });