2012-05-08 205 views
0

在我的應用程序解析XML時,我在XML解析器的foundcharacters委託中有一個字符串。實際的字符串是'Aoyama-itchōmeStation',但是當我使用編碼時,我把它當作'ōmeStation'。字符串的第一部分丟失。我嘗試了不同的編碼,但沒有爲我工作。有沒有人有關於什麼原因的想法?iPhone編碼刪除部分字符串

這裏是我的代碼:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    if(titleFlag) 
    { 
     if(string) 
     { 
      objPlace.title = [string stringByReplacingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 
     } 
    } 
} 
+0

你需要去NSUnicodeStringEncoding,而不是NSUTF8StringEncoding。 – rishi

+0

我已經試過NSUnicodeStringEncoding和NSASCIIStringEncoding。但它不適合我... –

+0

似乎它是日本文字,但不知道,你可以去NSUTF16StringEncoding。可能這會解決你的問題。 – rishi

回答

1

「青山癢青梅站」是字符串你越來越是「青梅站」。

我想解析字符串越來越在初始解析的第一部分,青山癢'和第二部分「青梅站」時。你在做什麼是把它設置爲標題。

所以初始解析當分析器找到charachters ...

self.title = @"Aoyama-itch"; 

和第二組的可用性...

self.title = @"ōme Station"; 

這就是你所看到的。所以使標題對象成爲一個NSMutableString對象。

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    if(self.title==nil) 
    { 
     self .title = [[[NSMutableString alloc] init] autorelease]; 
    } 
    [self.title appendString:<parsed Charachters>]; 
} 
+0

thnx其工作正常 –