Как использовать BIG5 для передачи китайских иероглифов в objective-c

#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. Извините, может быть, я не совсем четко обозначил это. Это два способа, которыми я сделал это отдельно, но оба приведут к искажению символов.