2012-06-01 2 views
0

Я пытаюсь отправить значение сообщения на свой сервер.Xcode, не могу отправить текст UTF-8

Он успешно отправляет английские символы.

Этот код предназначен для поиска друга, и он не может отправлять текст UTF-8.

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{ 
/* 
Update the filtered array based on the search text and scope. 
*/ 
if(![searchText isEqualToString:@""]){ 

    NSUserDefaults * userdef = [NSUserDefaults standardUserDefaults]; 

    NSString *encodedSearchText = [searchText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSString * uploadUrl = [NSString stringWithFormat:@"%@/%@" , GPON_URL , GPON_URL_SEARCHFRIEND]; 
    NSURL *url = [NSURL URLWithString:uploadUrl]; 


    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setPostValue:encodedSearchText forKey:@"u_id"]; 
    [request setPostValue:[userdef objectForKey:KEY_USER_ID] forKey:@"s_username"]; 


    [request startSynchronous]; 
    [request setShouldAttemptPersistentConnection:NO]; 

    NSString *response = [request responseString]; 
    SBJsonParser * parser = [[[SBJsonParser alloc] init] autorelease]; 
    NSDictionary * json = (NSDictionary *)[parser objectWithString:response]; 


    [searchMember removeAllObjects]; 
    if([[json objectForKey:@"result"] isEqual:@"YES"]){ 
     [searchMember addObjectsFromArray:[json objectForKey:@"data"]]; 

     [self.tableView reloadData]; 
    } 

} 

} 

вот мой код. можете ли вы понять причину ошибки?

+0

Что ур проблема? У вас есть ошибки в коде ur? Просьба уточнить! –

+0

Какая операционная система? – trojanfoe

+0

@hp iOS Coder Я сказал, что не могу отправить кодированный текст UTF-8 – james

ответ

1

Вы не указываете строковое кодирование запроса; попробуйте:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setStringEncoding:NSUnicodeStringEncoding]; 

Кроме того, это очень плохой способ определения, если NSString пуст:

if (![searchText isEqualToString:@""]) 

Используйте метод длины вместо:

if ([searchText length] > 0) 
+0

[запрос setStringEncoding] не работает. где я должен это выразить? – james

+0

@james Я обновил свой ответ более подробно. – trojanfoe

+0

после того, как я поместил ваш код, он говорит, что «Несовместимый указатель на целочисленное преобразование, отправляющее« char [6] »в параметр типа« NSStringEncoding »(aka« unsigned int »)« – james

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