2012-04-15 13 views
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: —Ä—É—Å—Å–∫–∏–π —Ç–µ–∫—Å—Ç 

UPDATE:

バグが唯一の真のデバイス(iPod touchの5.1)上で行われます。それは、iPhoneのシミュレータで正常に動作します。

答えて

1

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

2

Xcode 4.2ではうまく動作するため、4.3.2バグかソースファイルのエンコードが間違っています。

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

もしそうなら、BBEditでファイルを開き、そのエンコーディングを再確認してください。ファイルに古いMacRomanや他のエンコーディングセットが存在する可能性があります。

+0

デフォルトのテキストエンコードとファイルエンコードは、Unicode(UTF-8)に設定されています。 BBEditでファイルをチェックしました。 – Voloda2

+0

fwiw、Xcode 4.2を使ってiPad 3にデバッグしても問題ありません。 – EricS

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: русский текст 
+0

実機でテストしましたか? – Voloda2

+0

は、まずシミュレータでテストしました。実際のデバイスでチェックし、同じ間違った出力を得ました。私はこれを反映するために私の答えを編集しました。 – pre

+0

これはxcode 4.3.2のバグです。 – Voloda2

関連する問題