2012-01-19 40 views
6

Tôi có một chatbox hiển thị chat như thế nàyHTML với các nhân vật Hebrew hiển thị lạ

Tên đăng nhập: tin nhắn trò chuyện của tôi

USERNAME2: chat nhắn

Nhưng sau đó một người nào đó đã đăng ký sử dụng ký tự Hebrew trên tên người dùng của anh ấy ngay bây giờ khi anh ấy đăng trên hộp trò chuyện của chúng tôi, nó được hiển thị không chính xác. Nó sẽ hiển thị như thế này

תירבע: 12345

Tên đăng nhập: tin nhắn trò chuyện của tôi

USERNAME2: chat nhắn

này chỉ xảy ra nếu anh ấy đăng số. HTML mẫu

<!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> 

Và đầu ra của đó là này

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

Làm thế nào tôi có thể làm cho nó hiển thị một cách chính xác để tên người dùng sẽ xuất hiện đầu tiên?

+3

Điều này có thể là do tiếng Hindi đọc từ phải sang trái không? Bạn không cung cấp đủ HTML/CSS để xem liệu có quy tắc chỉ định điều này hay không. –

+0

Tôi cũng nghĩ đó là lý do.
Mã html tôi đăng có thể tái tạo vấn đề của tôi
'תירבע: 12345'
Tất cả tôi muốn là để phủ nhận ảnh hưởng của tiếng Hin-ddi do đó nó sẽ không hiển thị từ phải sang trái. – kuchi

+0

Vì vậy ... bạn có thể cung cấp thêm HTML/CSS không? –

Trả lời

4

Thêm quy tắc CSS này:

span a { 
    unicode-bidi: embed; 
} 
+0

Cảm ơn bạn đã làm việc này! – kuchi

-1

Bạn nên tìm mã ngôn ngữ bạn muốn sử dụng.

URL này có thể giúp bạn. http://www.w3schools.com/tags/ref_language_codes.asp

+0

Đặt ngôn ngữ không nên và không ảnh hưởng đến định hướng: “Tác nhân người dùng phải ** không ** sử dụng thuộc tính' lang' để xác định hướng văn bản. ”Http://www.w3.org/TR/html4/ struct/dirlang.html # h-8.2 –

4

sử dụng, trong trường hợp này,

a { unicode-bidi: embed; } 

Nói chung, thiết lập unicode-bidi: embed trên bất kỳ yếu tố có thể chứa văn bản với directionality đối diện với các xung quanh bản văn. Mặc dù ví dụ: việc nhúng các từ tiếng Ả Rập đơn giản vào văn bản tiếng Anh (hoặc ngược lại) thường không yêu cầu điều này (vì tình huống được xử lý bởi định hướng vốn có của chữ cái), nó là một biện pháp phòng ngừa hữu ích khi chữ số, dấu chấm câu hoặc các ký tự trung lập có hướng khác có tính liên quan.

Đối tác HTML là <bdo>, ví dụ: <bdo><a ...>...</a></bdo>, nhưng nó là như vậy unimplemented, vì vậy bạn sẽ cần phải sao lưu nó với a { unicode-bidi: embed; } trong CSS và, để bao gồm các phiên bản cũ của IE, document.createElement('bdo') trong mã JavaScript.

Thuộc tính dir=ltr trên phần tử a có thể có cùng tác dụng nhưng đây là lỗi trong trình duyệt. Theo đặc điểm kỹ thuật HTML 4.01, nó chỉ nên ảnh hưởng đến hướng của văn bản trung tính có hướng (văn bản tiếng Do Thái chắc chắn là không) và dir=ltr là giá trị ban đầu.

+0

+1 để làm rõ – cctan

Các vấn đề liên quan