我正在使用 AFNetworking 与我的 JSON API 进行通信。除了发送带有德语变音符号(即ä ö ü ß)的请求外,一切都很好。
我正在使用共享实例
+(LFMessaging*)shared
{
static LFMessaging *sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
要发送数据,我使用 AFHTTPClient 的子类和这种方法:
[parameters setValue:cmd forKey:@"cmd"];
NSMutableURLRequest *apiRequest =
[self multipartFormRequestWithMethod:@"POST"
path:[NSString stringWithFormat:@"http://%@%@", _domain, _target]
parameters:(NSDictionary*)parameters
constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
//TODO: attach file if needed
}];
AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest];
operation.JSONReadingOptions = NSJSONReadingMutableContainers;
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
...
就在带有德语变音符号的参数通过 api 时似乎中断了。服务器没有收到正确的字符串。
如果服务器以 json 结果发送变音符号,一切都很好。