2012-07-18 267 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