在以前版本的XCode中,一切都运行良好。但今天在XCode 4.3.2中我遇到了问题。如何记录俄语文本或非拉丁文?
NSLog(@"russian text: русский текст");
NSString *text = @"russian text: русский текст";
const char *textC = [text UTF8String];
NSString *getText = [NSString stringWithCString:textC encoding:NSUTF8StringEncoding];
NSLog(@"___text: %@", getText);
我的日志
russian text: —Ä—É—Å—Å–∫–∏–π —Ç–µ–∫—Å—Ç
___text: russian text: —Ä—É—Å—Å–∫–∏–π —Ç–µ–∫—Å—Ç
更新
该错误仅发生在真实设备上(ipod touch 5.1)。它在iphone模拟器上正常工作。
答案 0 :(得分:2)
在Xcode 4.2中可以正常使用,因此它是4.3.2错误或您的源文件编码错误。
选中“首选项/文本编辑/编辑选项卡/默认文本编码”设置,并确保将其设置为Unicode(UTF-8)。
如果是,请在BBEdit中打开文件并仔细检查其编码。可能在文件上设置了旧的MacRoman或其他编码。
答案 1 :(得分:2)
更新:
在我的模拟器中正常工作。
然而,在运行iOS 5.1的真实设备上,我得到了与您相同的错误,干扰输出。 所以它可能是一个XCode 4.3.2错误。
我在XCode 4.3.2上测试了你的代码,它对我来说很好。
我的日志:
2012-04-15 15:44:28.545 test[25799:15203] russian text: русский текст
2012-04-15 15:44:28.548 test[25799:15203] ___text: russian text: русский текст
答案 2 :(得分:1)
我找到了解决方案。您需要在Product-> Edit Sheme中将调试器从LLDB更改为GDB。 LLDB与俄语无法正常工作。