2010-11-30 2 views
0

Привет всем, небольшая проблема, когда я читаю в форме XML. NSXMLParse правильно видит символ «£», но его выводит юникод, \ U00a3.NSXMLParser и символ «£»

Я просто читаю его до строки.

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

CleanString удаляет \ п - \ т и я даже добавил разбор из ЮНИКОДА и заменить его символом Чара для «Е».

Как ни странно NSLog здесь напечатать символ «Е», но когда я didEndElement добавить его в словарь,

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

Он добавить его в качестве юникода Чара.

Не могу понять, почему, глядя на google theres, очень мало нацелено на разбор символов unicode.

ответ

0

я не знаю, но может быть полезным для вас, если вы используете метод stringByReplacingOccurrencesOfString

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

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

Благодаря

+0

Да, я пробовал это, но когда вы используете @ "\ 00a3", вы получаете ошибку, говорящую о не полном универсальном знаке char, удаляя '\', но его все еще не подбирают. – Woodmister1 2010-11-30 11:18:53

0

Да, это происходит из-за символов и для других языков шрифтов они не на английском языке, Я также получил ответ здесь, что мы должны декодировать его следующим образом:

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

Оригинальная ссылка - How to display Text in Arabic in UIlabel

Смежные вопросы