如何防止浏览器将ß更改为ss?

时间:2013-06-14 00:02:00

标签: html character-encoding

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

不幸的是,它显示为'ss'。我尝试过遵循我在How can I properly display German characters in 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'而不是'ß'的行上的大写字母。一旦我删除它,它工作得很好!

3 个答案:

答案 0 :(得分:7)

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

修改:只有在text-transform设置为uppercase时才会出现此问题。然后ß会自动转换为SS

答案 1 :(得分: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;
}

它应该有用

答案 2 :(得分:0)

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