在我的应用程序中,当我尝试将附加的字符串设置为UIlabel时,不显示特殊字符。请帮我解决这个问题。
由于
答案 0 :(得分:1)
如果您的键盘上有欧元字符,则可以直接使用它:
[lLabel setText:@"€"];
否则使用Unicode转义:
[lLabel setText:@"\u20AC"];
ADDED Foundation框架和NSString类不知道像“¿euro¿”这样的转义序列,所以你必须手动替换它:
NSString *s = @"abc ¿euro¿ def";
NSString *d = [s stringByReplacingOccurrencesOfString:@"¿euro¿" withString:@"\u20AC"];
答案 1 :(得分:0)
将字符串转换为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;
答案 2 :(得分:0)
//Conevrt the string utf-8 format
[yourstringvariabel UTF8String];
答案 3 :(得分:0)
使用NSISOLatinStringEncoding
解决了这个问题。