9

我正在尝试正确显示以下德语字符:ß

不幸的是,它显示为“ss”。我尝试按照我在以下位置找到的一些说明进行操作:如何在 HTML 中正确显示德语字符?没有成功。

我尝试将元标记设置为<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8"><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>没有改变任何内容。根据该页面上的注释,utf-8 可以同时处理任何类型的非 ASCII 字符。

奇怪的是,其他德语字符,如 ü 和 ö 字符显示正常,所以它是特定于 ß 字符的,而不是实际显示 ß,而是显示为 ss。

如何防止浏览器将 ß 更改为 ss 而实际上让它显示 ß?


编辑:我在显示'ss'而不是'ß'的行上有一个文本转换:大写。一旦我删除它,它工作得很好!

4

3 回答 3

10

我也有这个问题。过了一会儿,我发现我使用的字体(我认为是 Trebuchet MS)不支持 ß,这就是它被转换为 SS 的原因。很简单,但我什至没有梦想过这样的解决方案..

编辑:该问题仅在text-transform设置为uppercase. 然后自动ß转换为A。SS

于 2013-06-14T00:29:42.853 回答
1

我在我的页面上使用了这个 jQuery 脚本

jQuery(document).ready(function(){
    jQuery('p, a, strong, b, em, i, label').each(function(){
        html = jQuery(this).html();
        if (jQuery(this).children().length == 0 && html.indexOf("no-uppercase") < 0) {
            jQuery(this).html( jQuery(this).html().replace( /ß/g, '<span class="no-uppercase">ß</span>' ) );
        }
    });
});

然后你可以添加到你的css文件

.no-uppercase {
   text-transform: none !important;
}

它应该工作

于 2016-02-11T17:42:34.620 回答
0

试试 uft-8。另请注意,如果您通过 php 或 asp 或其他语言输出此信息,则 HTML 编码是不够的。您将需要设置标题内容类型

于 2013-06-14T00:11:05.467 回答