2010-11-30 25 views
0

Salut à tous, léger problème quand je lis dans un formulaire XML. NSXMLParse voit correctement le symbole "£" mais imprime l'unicode, \ U00a3. Je ne fais que le lire en chaîne.NSXMLParser et le symbole "£"

[pre_Currency appendString:[self cleanString:string]]; 

CleanString supprime \ n - \ t i et a même ajouté l'analyse syntaxique le unicode et le remplacer par le symbole Char pour le "£".

Étrangement un NSLog ici imprimer un symbole « £ », mais quand il didEndElement je l'ajouter au dictionnaire,

[number setObject:[self cleanString:pre_Currency] forKey:@"pre_currency"]; 

Ajouter comme unicode Char. Je ne comprends pas pourquoi, en regardant google theres très peu visant à l'analyse des caractères Unicode.

Répondre

0

Je ne sais pas, mais peut-être utile pour vous, si vous utilisez la méthode stringByReplacingOccurrencesOfString

NSString *[email protected]"YOur string with special characters." 

specialChars=[specialChars stringByReplacingOccurrencesOfString:@"\U00a3" withString:@"£"]; 

Merci

+0

Ouais essayé cela mais quand vous utilisez @ "\ 00a3" vous obtenez une erreur en disant quelque chose sur le nom de char universel non complet, en supprimant le '\' aide, mais il n'est toujours pas pris en charge. – Woodmister1

+0

thats @ "\ U00a3", ne comprennent pas comment il va d'un format à l'autre entre, foundCharacters, à didEndElement – Woodmister1

0

Oui, il se produit pour des symboles et des polices d'autres langues en elles ne sont pas en anglais, Je me suis aussi répondre ici que nous devrons décoder comme suit:

int c = ... /* your 4 text digit unicode ordinal converted to an integer */ 
charString = [ NSString stringWithFormat:@"%C", c ]; 

lien original - How to display Text in Arabic in UIlabel