【问题标题】:How do I log russian text or non-latin?如何记录俄语文本或非拉丁语文本?
【发布时间】:2012-04-15 13:15:03
【问题描述】:

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

【问题讨论】:

    标签: ios character-encoding internationalization xcode4.3 nslog


    【解决方案1】:

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

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

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

    【讨论】:

    • 默认文本编码和文件编码设置为 Unicode (UTF-8)。我用 BBEdit 检查了文件。
    • fwiw,它适用于我使用 Xcode 4.2 调试到 iPad 3。
    【解决方案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: русский текст
    

    【讨论】:

    • 你在真机上测试过吗?
    • 只在模拟器上测试过。刚刚在真实设备上检查并得到相同的错误输出。我编辑了我的答案以反映这一点。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2014-07-16
      • 1970-01-01
      • 2012-02-04
      • 2021-04-06
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      相关资源
      最近更新 更多