我正在尝试正确显示以下德语字符:ß
不幸的是,它显示为'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'而不是'ß'的行上的大写字母。一旦我删除它,它工作得很好!
答案 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