2014-07-14 4 views
1

영어와 아라비아어 단어를 문자열로 조합하면 아랍어가 RTL 방향으로 영어가 LTR 인 단어가 셔플됩니다. 내가 이메일을 보내려고하고 다음하고아랍어와 영어 단어가 같은 문자열에있을 때 단어가 섞입니다.

이 شركة مصنع الجوارب الراقيه 보낸으로

String subText = "Financial Details of شركة اختبار were sent"; 

이메일 제목이 나타납니다 내 이메일의 제목입니다. المحدوده 금융 다른 resource을 확인한 후

의 세부 사항은, 내가 가정 등 셔플하지만 여전히 같은 단행 버전을 얻는 멈추는의 시작에 보이지 않는 RLE 문자를 추가하기로 결정했다.

char RightToLeftEmbedding = (char)0x202B; 
subText = RightToLeftEmbedding + subText ; 

접근 방식에는 어떤 문제가 있습니까?

답변

1

아랍어와 같은 오른쪽에서 왼쪽으로 쓰는 언어와 함께 사용하도록 특별히 설계되었거나 구성 되었기 때문에 전자 메일 제목을 렌더링하는 소프트웨어에서 적용한 전체 쓰기 방향이 오른쪽에서 왼쪽으로 나타납니다. 결과는 실제로 섞이지 않고 왼쪽에서 오른쪽 방향의 문자 시퀀스가 ​​그 방향성으로 렌더링되는 일반적인 오른쪽에서 왼쪽 방향 렌더링입니다.

왼쪽에서 오른쪽으로 방향을 묻는 메시지이므로 U + 202B를 사용하면 오른쪽 클릭을 사용하지 않아도 도움이되지 않습니다. 어쨌든 사용되는 방향은입니다. 대신, U + 202A 왼쪽 - 오른쪽 엔벨로딩을 사용하십시오.

+0

화려한 솔루션. 감사 –