我遇到了一个显示字符的问题:
例如:我的单词是:
我该如何解决这个问题?
如下图所示,在提示中它显示正确的单词:
但是当我打印字符串str1时,它打印出的是
例如:我的单词是:
Üniversäl
,但当我打印这个单词时,它显示为:√únivers√§l
。我该如何解决这个问题?
如下图所示,在提示中它显示正确的单词:
![It display proper word in hint](https://istack.dev59.com/oNvew.webp)
Üniversäl
。Üniversäl
,但当我打印这个单词时,它显示为:√únivers√§l
。√únivers√§l
。金属umlauts有问题吗?
这取决于您使用的输出通道的编码。
例如:
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]);
[universal cStringUsingEncoding:NSMacOSRomanStringEncoding]
对我有用。 - Nishant Tyagi我建议您尝试将编码更改为更加类似UTF8的格式。
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
cell.textLabel.text = [[sectionedgroupArr objectAtIndexPath:indexPath] valueForKey:@"groupname"];
- Nishant Tyagi这不是答案,但我想在我的评论中添加一个截图。
我将UILabel拖放到我的故事板中,并将其附加到label1。在我看来一切都很好。我正在使用带有iOS 6的Xcode 4.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;
}