我在显示字符时遇到问题:
例如:我的词是:但是当我打印这个词时Üniversäl
它显示为: 。√únivers√§l
我该如何解决这个问题?
如此处所示它在提示中显示正确的单词:
但是当我打印字符串 str1 时,它的打印√únivers√§l
我在显示字符时遇到问题:
例如:我的词是:但是当我打印这个词时Üniversäl
它显示为: 。√únivers√§l
我该如何解决这个问题?
如此处所示它在提示中显示正确的单词:
但是当我打印字符串 str1 时,它的打印√únivers√§l
金属变音符号的问题?
这取决于您使用的输出通道的编码。
例如:
NSString *universal = @"Üniversäl";
NSLog(@"Üniversal: %@", universal);
printf("%s\n", [universal cStringUsingEncoding:NSMacOSRomanStringEncoding]);
printf("%s\n", [universal cStringUsingEncoding:NSISOLatin1StringEncoding]);
printf("%s\n", [universal cStringUsingEncoding:NSUTF8StringEncoding]);
以三种不同的编码将字符串“打印”到终端。其中一个对你来说合适吗?
我会尝试将您的编码更改为更多UTF8-ish
NSString *otherString = [[NSString alloc] initWithCString:"Üniversäl" encoding:NSMacOSRomanStringEncoding];
NSLog(@"%@",otherString); // outputs Üniversäl
NSString *string = [[NSString alloc] initWithCString:"Üniversäl" encoding:NSUTF8StringEncoding];
NSLog(@"%@",string); // outputs Üniversäl
这不是答案,但我想在我的评论中添加截图。
我将 UILabel 拖放到我的情节提要上并将其附加到 label1。每件事对我来说都很好。我正在使用 Xcode 4.6 和 iOS 6。告诉我是否遗漏了什么?
@interface v1ViewController : UIViewController
@property (nonatomic, retain) IBOutlet UILabel *label1;
@end
@implementation v1ViewController
@synthesize label1;
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *tempArray = [[NSArray alloc] initWithObjects:@"Üniversäl", nil];
NSString *str2 = [tempArray objectAtIndex:0];
//NSLog(@"str2: %s",[str2 UTF8String]); // outputs Üniversäl
NSLog(@"str2: %@",str2); // outputs Üniversäl
label1.text = str2;
}