使用'text-transform:uppercase;'时,Internet Explorer不会将'ß'(ß/ es-zed)更改为'SS'

时间:2013-02-24 19:01:55

标签: html internet-explorer character css

Internet Explorer 9和10不会将德语 es-zed ß”(ß,' sz ')更改为“ SS“在使用CSS规则text-transform: uppercase;时正确”。这是不是实现了,还是一个我可以用某种方式处理的错误,而不是手动替换所有“ß”?

1 个答案:

答案 0 :(得分:16)

这是一项功能。 CSS 2.1没有定义大写和小写的含义,IE 9对待U + 00DF LATIN SMALL LETTER SHARP S“ß”,因此它的大写映射是U + 1E9E LATIN CAPITAL LETTER SHARP S“ẞ”(虽然有区别,但是可能很难看到)。这种情况发生在“标准模式”中;在Quirks Mode中,IE 9将“ß”视为自己的大写映射。

该功能很奇怪,因为正常方式是将“ß”映射到“SS”,并且几年前为可选添加了大写“ẞ”在相对较少的情况下使用,其中单词是大写的,以便区分例如必须保留施特劳斯和斯特劳斯的名字

CSS 3 Text工作草案规定应根据Unicode应用案例映射,并将“ß”映射到“SS”。如果它将成为推荐,那么该功能将变成一个错误。

通常,在CSS中进行大小写映射是不可靠的。最好在适当的情况下生成内容,如果需要,在服务器端执行映射。然后你可以单独处理任何特殊情况。您也可以使用客户端JavaScript;在JavaScript中,大小写转换具有Unicode感知功能(JavaScript已经很好地全球化的少数领域之一)。