Internet explorer 8 带CSS文本转换的希腊文文本IE8问题

Internet explorer 8 带CSS文本转换的希腊文文本IE8问题,internet-explorer-8,webfonts,uppercase,css,Internet Explorer 8,Webfonts,Uppercase,Css,有一个带有希腊文本的站点,其中有一个div,我应用了样式文本转换:大写 <div class="greek" style="text-transform:uppercase;">Υπηρεσίες</div> πηρεσε 小写:πηρεσεε 转换为大写:Υ∏∏Ρ∑∑∑ 在IE8中,除了一个字母“ς” 因此,在IE8上,它显示如下:Υ∏ΡΕ∑ΊΕς 这在所有浏览器(FF、Chrome、IE9、IE10、IE11)上都能正常工作,但在IE8中不行 它将“σ”转换为“∑

有一个带有希腊文本的站点,其中有一个div,我应用了样式
文本转换:大写

<div class="greek" style="text-transform:uppercase;">Υπηρεσίες</div>
πηρεσε
小写:πηρεσεε

转换为大写:Υ∏∏Ρ∑∑∑

在IE8中,除了一个字母“ς”

因此,在IE8上,它显示如下:Υ∏ΡΕ∑ΊΕς

这在所有浏览器(FF、Chrome、IE9、IE10、IE11)上都能正常工作,但在IE8中不行

它将“σ”转换为“∑”,但不转换“ς”


有人对此有CSS解决方案吗?

这是浏览器中的错误/缺陷。根据规范,必须应用Unicode大小写映射规则,其中包括将最后的小sigma“ς”映射到大写sigma“∑”。(他们还应该以将单词final“∑”映射到“ς”的方式进行大小写映射,但这是另一个问题,而且更复杂。)但一些浏览器仍然无法做到这一点

在CSS中你对此无能为力。客户端,您可以使用JavaScript代码,通过在内容中进行转换来修复此问题。但最好是在服务器端完成。如果希望以这种方式显示内容,请使用大写字母编写内容,或者(如果内容来自外部源),使用您正在使用的任何服务器端工具进行映射


请注意,当您尝试使用CSS大写希腊文本时,您也会遇到其他问题。如屏幕截图所示,tonos“ί”的小型物联网已转变为tonos“Ί”的首都物联网。根据希腊语规则,当一个单词大写时,这是不正确的;应该省略音调(尖锐重音)。大多数浏览器都没有做到这一点(Firefox做到了)。

当我找到解决方案时,我正要问同样的问题:

对于大多数语言,您只需拍打
文本转换:大写
,它就可以工作了。对于希腊文,您必须这样做,因此您应该将
lang=“el”
添加到您的div中,它就会工作

比如说,

<p>Διάβασμα του Καφέ</p>
ΔιάβασματοΚαφέ

变为ΔΥΥΑΑ∑ΜΑΥΚΑΈ

<p lang="el">Διάβασμα του Καφέ</p>

ΔιάβασματοΚαφέ


正确地转换为ΔΥΑΑΑ∑ΜΑΥΚΑΕ

这是一个字体问题,不是那么多CSS如果您的站点以手持设备为目标,不要费心修复它。如果不是的话,IE8用户每天都在减少,他们中的大多数人都意识到,一些网站的外观可能与他们的“旧浏览器”不一样。@PellePenna:是的,真正的IE8用户正在减少,但对我们来说,我们必须修复它,因为根据分析,我们的许多客户确实使用IE8。pstenstrm:你遇到过这样的错误吗。我尝试过改变字体,但效果不好。如果你不能在客户端修复它,试试服务器端,在那里你肯定可以解决它(ASP或PHP)。我有点不想使用JS解决方案,并在页面上添加不必要的负载。如果有其他的解决办法,我想会很好。比如一些字体的改变或者css的改变。