XCode中的调试器控制台编码已损坏

时间:2012-06-08 14:29:16

标签: xcode xcode4 character-encoding console

非拉丁文本在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和iPhone上工作正常。 ipad公司

2 个答案:

答案 0 :(得分:1)

由于我将调试器从lldb更改为gdb输出已经变好了。所以,lldb必须有错误。

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

答案 1 :(得分:0)

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

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

NSLog(@"%S", [title_ cStringUsingEncoding:NSUnicodeStringEncoding]);
相关问题