2013-04-17 28 views
5
NSSet *subFolders = [_account subscribedFolders]; 
NSLog(@"subFolders: %@",subFolders); 

Output:Hiển thị unicode trong giao diện điều khiển trong định dạng phù hợp

... 
    "[Gmail]/\U05d8\U05d9\U05d5\U05d8\U05d5\U05ea", 
    "[Gmail]/\U05d7\U05e9\U05d5\U05d1" 
... 

Có cách nào tôi có thể hiển thị các văn bản nêu trên trong ngôn ngữ ban đầu của nó (Hebrew)?

Những điều tôi đã cố gắng:

  • thay đổi debugger từ LLĐB để GDB - Không làm việc
  • Kiểm tra dưới sở thích -> Text Editing UTF- * được chọn

Cảm ơn

+1

có lẽ đây có thể giúp: http://stackoverflow.com/questions/3372103/view-unicode-characters-in-xcode-console – CarlJ

+0

Đã thử nó, tôi không thể mã hóa các NSSet, tôi đoán nó sẽ làm việc cho NSString mà không phải là trường hợp. – Segev

+1

bạn có thể thử NSString * desc = [yourNSSet description]; – CarlJ

Trả lời

2

Không có vấn đề gì với việc hiển thị các ký tự unicode trong giao diện điều khiển, vì vậy tôi cho rằng đó là cách chuỗi được đưa vào tập hợp ở vị trí đầu tiên.

tôi sẽ đề nghị iterating trên tất cả các đối tượng bên trong các thư mục con với một cái gì đó như:

for(id object in [subFolders allObjects]) { 
    //Print out the name of the item explicitly 
} 

Thậm chí nếu điều này không làm việc, nó ít nhất cho phép bạn làm việc với các chuỗi trực tiếp. Nếu nó vẫn còn in ra:

"[Gmail]/\ U05d8 \ U05d9 \ U05d5 \ U05d8 \ U05d5 \ U05ea"

Nó sẽ trông như thể bạn đang được gửi các ký tự unicode trốn thoát, và tôi sẽ đề nghị này: https://stackoverflow.com/a/7861345/352891 - điều này có thể làm việc trực tiếp trên mô tả NSSet của

+0

Giải pháp thứ hai của bạn với mô tả của NSSet làm việc tuyệt vời. Cảm ơn – Segev

1
NSString* strOld=[NSString stringWithFormat:@"%@",responseObject]; 
NSLog(@"%@",[NSString 
      stringWithCString:[strOld cStringUsingEncoding:NSUTF8StringEncoding] 
      encoding:NSNonLossyASCIIStringEncoding]); 
+1

Bạn có thể giải thích lý do tại sao điều đó giúp OP không? – HAS

+1

Câu trả lời hoàn hảo. Làm việc như người ở – Jassi

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