我有一个聊天框,显示像这样的聊天
用户名:我的聊天消息
用户名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="#">תירבע</a>:</span><span>12345</span></div>
<div><span><a target="_BLANK" style="" href="#">תירבע</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
如何正确显示以便首先显示用户名?
答案 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