0

非拉丁文本在 XCode 调试控制台中以非常奇怪的方式输出。如何使它正确?

例如:Проверьте давление экрана.成为–ü—Ä–æ–≤–µ—Ä–∫–∞ –¥–∞–≤–ª–µ–Ω–∏—è —ç–∫—Ä–∞–Ω–∞

(请帮助我改进我的问题,因为我的英语不好。如果很难理解我在这里写的内容,请告诉我。)

- (id) initWithDictionary:(NSDictionary*)dictionary
{
    //...
    self.title = [dictionary objectForKey:@"Заголовок"] ; // dictionary from plist encoded in UTF8
    //...
    return self;
}
- (void) log
{
    NSString *class = NSStringFromClass([self class]);
    NSString *sel   = NSStringFromSelector(_cmd);
    NSLog(@"%@:%@:%@", class, title_, sel);
}

title_是从 plist 加载的 iVar NSString 。它用作 uiviewcontroller 的标题,在 iPhone 和 iPad 上运行良好。

4

2 回答 2

1

由于我将调试器从 lldb 更改为 gdb 输出变得正常。所以,lldb一定有问题。

在 xcode 4 中:菜单 -> 产品 -> 管理方案...然后点击编辑按钮 -> 运行 Your.app(左侧面板)-> 调试器 -> 将其从 LLDB 更改为 GDB。

于 2012-06-14T13:01:39.013 回答
0

我认为这不会是 Xcode 3 的问题,但我想我想错了。

记录的丑陋技巧:也许尝试使用不同的记录格式的 NSString 的 -cStringUsingEncoding: 来尝试强制显示正确的编码。我不知道这是否可行:

NSLog(@"%S", [title_ cStringUsingEncoding:NSUnicodeStringEncoding]);
于 2012-06-08T15:59:25.693 回答