#import <Foundation/Foundation.h>int main(int argc, const char * argv[])
{    @autoreleasepool {
        
        NSString *a = @"中文";
        NSString *b = @"English";
        
        NSLog(@"123%s", [a UTF8String]);
        NSLog(@"%s", [a UTF8String]);
        NSLog(@"%s", [b UTF8String]);
        
    }
    return 0;
}
输出结果为:
2013-07-19 03:41:01.619 test1[10390:303] 123
2013-07-19 03:41:01.620 test1[10390:303] English
为什么遇到中文%s就给忽略了呢?
        

解决方案 »

  1.   


    不是不能输入,而是输出的是一堆乱码。NSString 中保存的是UTF8编码的数据,%s输出的是ASCII吗的数据,UTF8编码的中文字符用ASCII码方式输出,必然是乱码。
      

  2.   


    不能将NSString中的UTF8中文转换成%s的ASCII中文么?UTF8Sting这个方法不行就没别的了么?还有,我这个倒没输出乱码,就是不显示