1

在以前版本的 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模拟器上正常工作。

4

3 回答 3

2

在 Xcode 4.2 中对我来说工作正常,所以它要么是 4.3.2 错误,要么是您的源文件编码错误。

检查“首选项/文本编辑/编辑选项卡/默认文本编码”设置并确保它设置为 Unicode (UTF-8)。

如果是,请在 BBEdit 中打开文件并仔细检查其编码。文件上可能有旧的 MacRoman 或其他编码集。

于 2012-04-15T13:38:24.660 回答
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: русский текст
于 2012-04-15T13:47:23.010 回答
1

我找到了解决方案。您需要在 Product->Edit Sheme 中将调试器从 LLDB 更改为 GDB。LLDB 不能在俄语中正常工作。

于 2012-04-26T13:16:54.877 回答