在我的网站上将语言更改为德语时,会产生带有问号的黑色钻石。我已经在我的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_encodingmb_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/

10-12 12:19
查看更多