ios特殊字符问题

时间:2012-09-24 10:30:05

标签: iphone objective-c ios ios4

在我的应用程序中,当我尝试将附加的字符串设置为UIlabel时,不显示特殊字符。请帮我解决这个问题。

由于

Result

Special Character

4 个答案:

答案 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¿";

Check this output

请确保您的服务器响应设置为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解决了这个问题。