在我的网站上将语言更改为德语时,会产生带有问号的黑色钻石。我已经在我的meta标签中设置了字符集(UTF-8),并且还在制作带有UTF-8标头的浏览器。还有什么原因呢?
我在这里设置标题,但不确定是否需要做其他事情。我很少遇到这个问题,所以这不是我所熟悉的。
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
header('Content-Type: text/html; charset=utf-8');
完整代码:https://jsfiddle.net/raw/juuh00h6/
注意App.setLang()(最后一个函数),它实际上是在大多数元素上设置文本的地方。请为我的lang文件(“ lang.js”)在这里:http://pastebin.com/CV9QpxGJ。
实际观看:http://jwelford.co.uk/?lang=de
最佳答案
使用mb_internal_encoding和mb_http_output
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
$string = '"Stehler" ist in diesem Sinne ein mögliches Wort im Deutschen , das aber durch das bekannte Wort "Dieb" verhindert wird .';
header('Content-Type: text/html; charset=utf-8');
echo $string;
输出:
迪斯尼纪念日的“ Stehler”主义者Deutsche Wort im Deutschen
阿伯·杜希·达斯·本坎特·沃尔特·“迪布”·维兰德·维尔德。
注意
如果需要将字符串转换为大写或小写,请使用Multibyte String Functions,即:
mb_strtoupper($string);
mb_strtolower($string);
演示:
http://ideone.com/QHQhLf
关于javascript - 带 header 的钻石问号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30146803/