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

アップデート:

私のシミュレーターでは問題なく動作します。

ただし、iOS 5.1を実行している実際のデバイスでは、同じように間違った、邪魔な出力が表示されます。したがって、おそらくXCode4.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 に答える
2

Xcode 4.2では問題なく動作するので、4.3.2のバグであるか、ソースファイルのエンコーディングが間違っています。

「設定/テキスト編集/編集タブ/デフォルトのテキストエンコーディング」設定をチェックし、Unicode(UTF-8)に設定されていることを確認します。

そうである場合は、BBEditでファイルを開き、そのエンコーディングを再確認します。ファイルに古いMacRomanまたは他のエンコーディングが設定されている可能性があります。

于 2012-04-15T13:38:24.660 に答える
1

解決策を見つけました。Product->Edit Sheme で、デバッガーを LLDB から GDB に変更する必要があります。LLDB はロシア語では正しく動作しません。

于 2012-04-26T13:16:54.877 に答える