NSString *postString = [NSString stringWithFormat:@"~WriteMessage#%@#%@#4#我爱你#3#0", [Person sharedInstance].userID, bizID];NSData *postData = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];NSLog(@"post data = %@", postString);NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",KUrl]]];[request setHTTPMethod:@"POST"];[request setHTTPBody:postData];[NSURLConnection connectionWithRequest:request delegate:self];

解决方案 »

  1.   

    服务器是怎么解码的。原来我也遇到过,原因是服务器使用了 GBK 编码。你需要查查服务器是什么编码,数据库是什么编码。需要统一。
      

  2.   

    这个遇到过,根据您的描述,我分析可能是如下原因:
    传到服务器的数据的编码是UTF-8,在服务器看到是乱码,那说明服务器解析数据采用的可能不是UTF-8,使用中文操作系统,默认的编码是GBK,微软官方是这么说的。
      

  3.   

    最好让服务器去查一下。把相对应的数据在本地保存为utf8格式的,打开看看是不是正常。很容易就看出来了。
      

  4.   

    试一试加上中间两句
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];  
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];  
    [request setHTTPBody:postData];