Пожалуйста, помогите мне с проблемой при отправке символа эмодзи в формате JSON.У меня есть UITextView, этот текстовый вид может иметь смайлики.Я отправляю данные на веб-сервер с UITextView.text, представленным как JSON, проблема в том, что когда у текста есть смайлики, я не могу получить данные.Что я делаю:
$postData = file_get_contents("php://input") to get the data.
, тогда я использую
$post = json_decode($postData,true);
для декодирования данных и получения массива и вставки данных в базу данных.
Вот фрагмент кода, когда я вставляю свои данные в базу данных.
$postData = file_get_contents("php://input");
//$postData = '{"body":"characters here ","subject":"subject here","username":"janus","from_id":"185","to_id":"62"}';
$post = json_decode($postData,true);
$data=array(
'user_id_from'=>mysql_real_escape_string($post['from_id']),
'user_id_to'=>mysql_real_escape_string($post['to_id']),
'subject'=>mysql_real_escape_string($post['subject']),
'message'=>mysql_real_escape_string($post['body']));
$messages_obj->insert($data);
Без найденного символа смайликов он работает нормально.нет проблем.проблема в том, что при обнаружении символа смайлика данные в $ post (декодированные данные) равны нулю.
Я попытался использовать фиктивные данные (строка 2 в фрагменте кода)
//$postData = '{"body":"characters here ","subject":"subject here","username":"janus","from_id":"185","to_id":"62"}';
иЯ успешно вставил эмодзи в базу данных.Я не знаю почему, но он не работает так же, когда данные поступают с устройства ($ postData = file_get_contents ("php: // input"))
Так я кодирую и публикую свои данные в клиенте.
NSMutableDictionary *messageDetails = [[NSMutableDictionary alloc] init];
[messageDetails setObject:[loginItems objectForKey:@"user_id"] forKey:@"from_id"];
[messageDetails setObject:recipientID forKey:@"to_id"];
[messageDetails setObject:@"subject here" forKey:@"subject"];
[messageDetails setObject:newMessageField.text forKey:@"body"];
[messageDetails setObject:[loginItems objectForKey:@"username"] forKey:@"username"];
NSString *strPostData = [messageDetails JSONRepresentation];
[messageDetails release];
NSData *postData = [NSData dataWithBytes:[strPostData UTF8String] length:[strPostData length]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:postData];
Кстати, кто создал эти символы эмодзи?Он разрушает мою жизнь!