我正在尝试传递特殊字符,但它不起作用。我已经指定了UTF8String字符串。我正在尝试传递“åøæ”,它的打印效果类似于“$ @ \ U20ac \ U00a3 \ U00a5”。
NSMutableDictionary* reqDict = [NSMutableDictionary dictionary];
[reqDict setObject:Userid forKey:@"user_id"];
[reqDict setObject:Comm_id forKey:@"comm_id"];
[reqDict setObject:Post_id forKey:@"post_id"];
[reqDict setObject:Comment_type forKey:@"comment_type"];
[reqDict setObject:Comment forKey:@"comment"];
//[reqDict setObject:@"å ø æ" forKey:@"comment"];
NSLog(@"Comment:%@",reqDict);
NSString* reqString = [NSString stringWithString:[reqDict JSONRepresentation]];
//Request
NSData* requestData = [NSData dataWithBytes:[reqString UTF8String] length:[reqString length]];
// NSLog(@"requestData:%@",requestData);
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:tiComment_url]];
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"];
[request addRequestHeader:@"Content-Length" value:[NSString stringWithFormat:@"%d", [requestData length]]];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
request.defaultResponseEncoding = NSUTF8StringEncoding;
[request appendPostData:requestData];
[request setTimeOutSeconds:60];
[request setDelegate:self];
[request startSynchronous];
答案 0 :(得分:0)
NSLog将以转义形式打印扩展字符。字符串中的字符仍然(大概)是正确的。 (请记住,NSLog不是用于“生产”,只是用于调试,并且许多调试环境在显示扩展字符时会遇到问题。)