Мое приложение может отправлять ввод нескольких текстовых полей в скрипт PHP на моем сервере с помощью функции POST, которая отправляет сообщение на мою электронную почту. Проблема в том, что некоторые символы не будут переведены. Например: ü -> ¼¼.
Я уже проверил свой заголовок HTTP, но он все еще в формате UTF-8.
Я также использую этот код для преобразования символов:
[textFieldName.text stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversation:YES];
Что я делаю не так? Даже файл PHP имеет такой код:
function mail_utf8($to,$subject = '(No subject)',$message = '',$header = ''){
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
if(mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header)) return true;
else return false;
}
EDIT:
NSString *post = nil;
post = [[NSString alloc] initWithFormat:@"vorname=%@&name=%@&plz=%@&ort=%@&email=%@&geburtsdatum=%@&eventdatum=%@",
[textFieldVorname.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldName.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldPLZ.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldOrt.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldEmail.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldGeburtsdatum.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[textFieldEventdatum.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://www.url.com/document-send.php"]];
[request setHTTPMethod:@"POST"];
[request setValue: postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
[NSURLConnection connectionWithRequest:request delegate:self];