2010-07-14 7 views
1

sur ma page i une plage horaire imprimée dans le format deComment est-ce que je fais correctement apparaître cette chaîne avec des caractères arabes sur ma page web?

12:00 AM - 12:00 PM 

je dois afficher cette façon appropriée pour la culture quelle que soit les fournitures de navigateur. J'ai un problème avec arabic (ar-ae): l'indicateur am/pm semble changer l'ordre du texte pour une partie de la chaîne. la chaîne a les bons caractères dans les bons endroits en mémoire, mais les montre dans un ordre différent.

donc pour mes début et de fin, j'ai des chaînes comme

03:00 ص 

et

11:00 م 

puis-je les mettre ensemble comme

string dummytext = t1string + " - " + t2string; 

lorsque la page est écrite , la plage s'affiche sous la forme

03:00 ص - 11:00 م 

J'ai essayé de placer chaque pièce dans un contrôle Label et d'envelopper tout dans un div avec dir="ltr" et n'avoir fait aucun progrès. Cela se passe dans une cellule de tableau si cela fait une différence.

Répondre

1

cela semble le réparer: j'ai ajouté le caractère unicode "de gauche à droite" après le caractère arabe pour "AM" dans l'exemple ci-dessus.

string dummytext = t1string + "‎ - " + t2string; 

‎ est l'entité html pour le caractère ltr. http://www.fileformat.info/info/unicode/char/200e/index.htm

la page affiche maintenant

03:00 ص‎ - 11:00 م 
0

Ne voudriez-vous être en utilisant la "droite à gauche" (dir = "rtl")?

+0

pas dans mon cas. le site est principalement en anglais, de gauche à droite. les dates et les heures utilisent des caractères/formatages locaux, mais doivent toujours être ltr pour la cohérence. – lincolnk

+0

alors pourriez-vous entourer les dates et heures avec un tag div qui a le jeu rtl en CSS? – NinjaCat