ios将NSString与特殊字符转换为const char

即时通讯尝试画CGContextShowTextAtPoint一个string。 CGContextShowTextAtPoint只接受“const char”作为stringinput。 我的问题是,一些string有特殊的字符,如ä,ö,ü等等。

如果我把这个string转换为“const char”

NSString *label = @"Küche"; const char *charLabel = [label UTF8String]; 

我得到一个奇怪的输出,ü被replace为符号和框…

该怎么办?

您只能使用CGContextShowTextAtPoint绘制ASCII字符。 要绘制Unicodestring,请使用NSString UIKit Additions,如drawInRect:withFont:或(用于更多自定义绘图) CoreText框架 。