我进行了相当多的搜索,但找不到解决我的问题的方法。
我的应用程序使用 i18next,除了一个问题外它工作正常:德语变音符号 (ü,ö,ä) 显示为 �。
我不明白我是否弄错了,因为这个示例应用程序没有变音问题:http://i18next-example1.eu01.aws.af.cm/?setLng=de-DE (github:https://github.com/rbeere/i18next-jade-express-sample)
我该如何解决这个问题?
最佳答案
罪魁祸首可能是:
Translation.json
文件未保存为 UTF8。- 如果有任何具体 使用字体,它们的 Unicode 支持非常非常有限(这是 对于现代字体来说不太可能)。
layout.jade
文件未声明页面编码。因此,由浏览器自动检测它。无论这是否解决了问题,在 header 中声明页面编码都是一个很好的做法:meta(http-equiv="Content-Type",content="text/html; charset=utf-8")
Content-Type
HTTP header 字段设置不正确。更改 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'}); });
关于node.js - 如何让 i18next-node 以正确的方式显示变音符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18277858/