2012-07-18 226 views
0

我的应用程序包含特殊字符作为β(即。贝塔)。但它被转换为Œ并且它的值在NSLog()中显示为\ U0152 \ U2264。特殊符号转换

如何使用/替换原始符号β?

我的代码 -

NSString *str = [NSString stringWithUTF8String:"β"]; 

    NSString *temp = [[array2 objectAtIndex:0]valueForKey:@"Class"]; 
    NSString *temp1 = [[array2 objectAtIndex:0]valueForKey:@"Interactions"]; 


    interaction = [temp1 stringByReplacingOccurrencesOfString:str withString:@"β"]; 
    classes = [temp stringByReplacingOccurrencesOfString:str withString:@"β"]; 

    lblClass.text = classes; 
    lblInteraction.text = interaction; 

感谢。

+1

你在哪里得到的符号?一个文本文件? ULR的回应?确保原始符号正确,并在使用字符串时使用NSUTF8Encoding。 – 2012-07-18 11:19:32

+0

@TeodorCarstea - 谢谢你的回复。其实那个符号来自数据库(SQLite)。并且在数据库中它是正确的。而且我正在处理字符串,所以如何使用NSUTF8Endcoding。我没有任何想法。你能告诉我吗? – 2012-07-18 11:20:59

+0

可能重复:http://stackoverflow.com/questions/9886903/iphone-how-to-write-symbol-on-a-label/9887028#9887028 – Devang 2012-07-18 11:23:11

回答

-1

这是为了对其他人有所帮助。

我已经通过更换符号Œβ解决我的问题如下 -

NSString *temp = [[array2 objectAtIndex:0]valueForKey:@"Class"]; 
    NSString *temp1 = [[array2 objectAtIndex:0]valueForKey:@"Interactions"]; 


    interaction = [temp1 stringByReplacingOccurrencesOfString:@"Œ≤" withString:@"β"]; 
    classes = [temp stringByReplacingOccurrencesOfString:@"Œ≤" withString:@"β"]; 
+1

这并不能解决潜在的问题;对于这个问题的单个实例来说,这只是一个肮脏的黑客攻击。例如,如果您的字符串是“Sesamöl(향유)ist eine wichtige Zutat in der koreanischenKüche”,那么它可能会失败。 – fzwo 2012-07-18 12:37:26