在我的应用程序中,当我尝试将附加字符串设置为 UIlabel 时,未显示特殊字符。请帮我解决这个问题。
谢谢
如果你的键盘上有一个欧元字符,你可以直接使用它:
[lLabel setText:@"€"];
否则使用 Unicode 转义:
[lLabel setText:@"\u20AC"];
添加了 Foundation 框架和 NSString 类不知道像“¿euro¿”这样的转义序列,因此您必须手动替换它:
NSString *s = @"abc ¿euro¿ def";
NSString *d = [s stringByReplacingOccurrencesOfString:@"¿euro¿" withString:@"\u20AC"];
将字符串转换为 UTF-8,然后将其设置为标签文本。
[label setText:[NSString stringWithFormat:@"%s",[@"your_string" UTF8String]]];
[编辑]
我对此进行了测试,并且无需将字符串转换为 UTF-8 即可正常工作!
label.text = @"¿euro¿";
请确保您的服务器的响应设置为 UTF-8 并且它应该修复它。我遇到了同样的问题,我从 UTF8 的服务器获取字符串 - NSUTF8StringEncoding!我改变了它,其他一切都很好!
例如我这样做:
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
request.defaultResponseEncoding = NSUTF8StringEncoding;
//Conevrt the string utf-8 format
[yourstringvariabel UTF8String];
使用NSISOLatinStringEncoding
解决了这个问题。