4

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

谢谢

结果

特殊字符

4

4 回答 4

1

如果你的键盘上有一个欧元字符,你可以直接使用它:

[lLabel setText:@"€"];

否则使用 Unicode 转义:

[lLabel setText:@"\u20AC"];

添加了 Foundation 框架和 NSString 类不知道像“¿euro¿”这样的转义序列,因此您必须手动替换它

NSString *s = @"abc ¿euro¿ def";
NSString *d = [s stringByReplacingOccurrencesOfString:@"¿euro¿" withString:@"\u20AC"];
于 2012-09-24T11:00:16.800 回答
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;
于 2012-09-24T10:45:53.887 回答
0
//Conevrt the string utf-8 format

[yourstringvariabel UTF8String];
于 2012-09-24T10:49:34.427 回答
0

使用NSISOLatinStringEncoding解决了这个问题。

于 2015-07-02T08:48:25.860 回答