1

私はセパレーターのような nsstring を使用していますが、シミュレーターでコンソールで表示するとうまく表示されますが、iPhone 4S で表示すると別のことが表示されます。utf8、ascii に解析しようとしましたが、解決できません。誰かがなぜこれが起こっているのか教えてもらえますか??

#define SEPARATOR @"ääëëñS0ñççää"
  • Iphone シミュレーター:
    NSLog(@"%@",SEPARATOR); -->端末のテキスト: ääëëñS0ñççää`

  • 私のiPhone 4S:

    NSLog(@"%@",SEPARATOR); -->端末のテキスト: √§√§√´√´√±S0√±√ß√ß√§√§`

    const char *utf8String = [SEPARADOR UTF8String];
    
    NSString *stringFromUTFString = [[NSString alloc] initWithUTF8String:utf8String];
    
    NSLog(@"%@",stringFromUTFString);
    

今、私はこれを行いました。シミュレーターを使用するとSEPARATORが正しく表示されますが、デバイスを使用すると、テキストがNSISOLatin1StringEncodingに渡されます。

4

2 に答える 2

1

Xcode のシミュレーターはシステム フォント (Mac マシン) を使用してテキストをレンダリングしますが、iPhone はそれに埋め込まれたフォントのみを使用します。つまり、シミュレーターで使用できるすべてのフォントが iPhone で使用できるとは限りません。

于 2012-09-17T12:55:19.950 に答える
0

これを試して

NSString *SEPARATOR = @"ääëëñS0ñççää";
NSLog(@"%s",[SEPARATOR UTF8String]);

つまり、シミュレーターを実行している Mac とデバイス自体の両方でフォントを実行する必要があります。特定の言語を扱っているため、Mac と iOS デバイスの両方にこの言語がインストールされている必要があります。

デバイスの設定に移動して、扱っている言語を有効にする必要があるようです...

于 2012-09-17T12:55:54.343 に答える