非拉丁文本在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公司
答案 0 :(得分:1)
由于我将调试器从lldb更改为gdb输出已经变好了。所以,lldb必须有错误。
在xcode 4中:菜单 - >产品 - >管理方案...然后点击编辑按钮 - >运行Your.app(左侧面板) - >调试器 - >将其从LLDB更改为GDB。
答案 1 :(得分:0)
我认为这不会是Xcode 3的问题,但我想我错了。
日志记录的丑陋技巧:也许尝试NSString的-cStringUsingEncoding:使用不同的日志记录格式来尝试强制显示正确的编码。我不知道这是否有效:
NSLog(@"%S", [title_ cStringUsingEncoding:NSUnicodeStringEncoding]);