#ios #objective-c #encoding
Вопрос:
Кодировка моей базы данных-big5. Я попытался изменить кодировку передачи на big5 при отправке, но я все еще получаю искаженные коды. Я что-то упускаю?
Я попытался изменить кодировку китайского поля на big5
NSStringEncoding big5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5_HKSCS_1999);
[paramsArray addObject:[NSMutableDictionary dictionaryWithObject:[self.postParams.orderDesc dataUsingEncoding:big5 allowLossyConversion:false] forKey:@"orderDesc "]];
Я попытался изменить кодировку на big5 при передаче
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:self.requestURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:TIMEOUT_SECONDS];
request.HTTPMethod = @"POST";
request.HTTPBody = [postBodyString dataUsingEncoding:kCFStringEncodingBig5_HKSCS_1999];
[request addValue:@"application/x-www-form-urlencoded; charset=big5" forHTTPHeaderField:@"Content-Type"];
Комментарии:
1. имеет ли «self.postParams.orderDesc» упрощенный китайский иероглиф?
2. Нет, все это на традиционном китайском
3. судя по вашему опубликованному коду ,вы кодируете дважды? или я неправильно понял ваш код?
4. Извините, может быть, я не совсем четко обозначил это. Это два способа, которыми я сделал это отдельно, но оба приведут к искажению символов.