带有希伯来字符的HTML显示奇怪

时间:2012-01-19 04:13:15

标签: html css hebrew

我有一个聊天框,显示像这样的聊天

  

用户名:我的聊天消息

     

用户名2:聊天消息

但是当有人在他的用户名上注册使用希伯来字符时,当他在我们的聊天框上发帖时显示不正确。它会显示如下

  

תירבע:12345

     

用户名:我的聊天消息

     

用户名2:聊天消息

只有在他发布数字时才会发生这种情况。示例HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Chatbox</title></head>
<body>
    <div><span><a target="_BLANK" style="" href="#">&#1514;&#1497;&#1512;&#1489;&#1506;</a>:</span><span>12345</span></div>
    <div><span><a target="_BLANK" style="" href="#">&#1514;&#1497;&#1512;&#1489;&#1506;</a>:</span><span>this is not numbers so it is displayed correctly</span></div>
    <div><span><a target="_BLANK" style="" href="#">Username1</a>:</span><span>message1</span></div>
    <div><span><a target="_BLANK" style="" href="#">Useraname2</a>:</span><span>message2</span></div>
</body>
</html>

输出就是这个

תירבע:12345
תירבע:this is not numbers so it is displayed correctly
Username1:message1
Useraname2:message2

如何正确显示以便首先显示用户名?

3 个答案:

答案 0 :(得分:4)

添加此CSS规则:

span a {
    unicode-bidi: embed;  
}

答案 1 :(得分:4)

在这种情况下,使用

a { unicode-bidi: embed; }

通常,在任何可能包含方向性与周围文本方向相反的文本的元素上设置unicode-bidi: embed。虽然例如简单地在英文文本中嵌入阿拉伯语单词(反之亦然)通常不需要这样(因为情况是由字母的固有方向性处理的),当数字,标点符号或其他方向中性字符可能是有用的预防措施时参与。

HTML对应方为<bdo>,例如<bdo><a ...>...</a></bdo>,但它实际上是未实现的,因此您需要在CSS中使用a { unicode-bidi: embed; }进行备份,并在JavaScript代码中覆盖旧版本的IE document.createElement('bdo')

dir=ltr元素上的a属性可能会产生相同的效果,但这是浏览器中的一个错误。根据HTML 4.01规范,它应该只影响方向中性文本的方向性(希伯来文本肯定不是),dir=ltr是初始值。

答案 2 :(得分:-1)

您应该查找您要使用的语言代码。

此网址可以为您提供帮助。 http://www.w3schools.com/tags/ref_language_codes.asp