簡體   English   中英

如何解決Ipad / Iphone上無法識別的特殊字符的問題?

[英]How to fix issue with unrecognized Special Character on Ipad/Iphone?

我正在開發一個通過xml獲取大量描述的應用程序,然后在解析后將其顯示在屏幕上。 我對某些描述有疑問,其中撇號會變成問號。 我的意思是,它們以xml開頭,在輸出屏幕和數據庫中以撇號形式出現,但后來在應用程序上顯示為問號。 這並非總是會發生,但每次都使用相同的描述。 這里是一個例子:

這是xml /數據庫中的內容

But it won't be easy. 
After a tour of the house, you'll be 

這是顯示在應用程序上的內容:

But it won?t be easy. 
After a tour of the house, you?ll be

我很確定問題是ipad / iphone無法識別它正在接收的字符...但是我不知道如何解決它。 這是我的解析器代碼:我相信xml以UTF-8編碼發送。

[whereToGetXML appendFormat:xmlID];
NSURL *URL=[[NSURL alloc] initWithString:whereToGetXML];


NSData *dataFromServer = [[NSData alloc] initWithContentsOfURL:URL];  
NSLog(@"where to get xml is:%@", whereToGetXML);
// Do any additional setup after loading the view from its nib.
NSData *dataWithoutStringTag = [[NSData alloc]init];


NSXMLParser *firstParser = [[NSXMLParser alloc] initWithData: dataFromServer];
[firstParser setDelegate:self];
[firstParser parse];

//Convert the returned parsed string to data using dataUsingEncoding method. HAVE TO HAVE allowLossyConversion:YES or else it will crash on half of the states. 

dataWithoutStringTag =[tempParserString dataUsingEncoding: NSASCIIStringEncoding allowLossyConversion:YES];

NSString *htmlCode = [[NSString alloc] initWithData:dataWithoutStringTag encoding:NSASCIIStringEncoding];
NSMutableString *temp = [NSMutableString stringWithString:htmlCode];


NSData *finalData = [temp dataUsingEncoding:NSASCIIStringEncoding     allowLossyConversion:YES];

NSXMLParser* parser = [[NSXMLParser alloc] initWithData:finalData];
// NSLog(@"Data is:  %@", dataWithoutStringTag);
//NSXMLParser* parser = [[NSXMLParser alloc] initWithData: dataFromServer];

[parser setDelegate: self];
//[parser setShouldResolveExternalEntities:YES];
[parser parse];
[parser release];

大概是因為字符串沒有被轉義。

嘗試在每個引號之前添加一個反斜杠。

\'message\'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM