2015-03-24 43 views
0

當我去操場和我寫let test = "\u{062F}\u{0625} Hello",我得到Hello دإ(其中的方式,當我從輸出控制檯複製到這裏,我得到دإ Hello停用語言環境Unicode字符

似乎有一個自動locale的東西(告訴我,如果我錯了)。

我的問題是如何停用它,這樣我有Hello دإ當我調用println(測試)

回答

1

這是UI做正確的事。特別是Cocoa知道如何處理BIDI或雙向文本。網站通常不會。 在雙向字符串中,它從第一語言順序開始,然後按語言順序放置下一個語言子字符串範圍。 RTL Rifght左移或LTR左移右移。垂直增加了不那麼簡單的複雜性。操場UI知道該怎麼做,因爲它是AppKit

+0

所以沒有辦法停用它? – Nico 2015-03-25 00:12:54

+0

除非您控制應用程序。因此,如果您構建應用程序,則可以爲文本字段設置RTL/LTR,或者更全局地設置應用程序的區域設置,但在iOS上,如果您的應用程序已本地化,則可能需要用戶設置其區域設置。您可以嘗試更改字符串中字符的順序。或者使用NSAttributedString並在遊樂場中設置屬性。一個普通的字符串知道的不多,所以操場會記錄它,然而操場記錄它。如果您認爲這是錯誤的,請向蘋果提交錯誤。 – uchuugaka 2015-03-25 01:11:52

+0

好的謝謝。並不需要提交錯誤。我會信任這個蘋果;) – Nico 2015-03-25 01:29:43