У меня есть несколько форм на японском языке, и я использую JavaScript и Ajax для получения данных с пользовательской кнопки и отправки их на сервер в PHP. Я отправляю данные в формате json и использую этот код для получения кода:
$inputArr = json_decode($_POST['inputs'], TRUE);
$mailMessageLabels = '';
$mailMessageValues = '';
foreach($inputArr as $label => $value){
$mailMessageLabels .= '<br>'.$label;
$mailMessageValues .= '<br>'.$value;
}
$message = $mailMessageLabels.'<hr>'.$mailMessageValues
Проблема в том, что иногда я получаю � этот символ вместо правильного. Когда я пытался найти проблему, я сделал что-то вроде этого:
$inputArr = json_decode($_POST['inputs'], TRUE);
$mailMessageLabels = '';
$mailMessageValues = '';
foreach($inputArr as $label => $value){
$mailMessageLabels .= '<br>'.$label;
$mailMessageLabels .= '<br>'.$label;
$mailMessageLabels .= '<br>'.$label;
$mailMessageValues .= '<br>'.$value;
}
$message = $mailMessageLabels.'<hr>'.$mailMessageValues
Я ожидал, что данные будут повторяться 3 раза подряд при получении электронного письма или 3 раза будут правильными или 3 раза неправильными с � . Но вместо этого у меня были данные, подобные изображению
Что мне нужно сделать, чтобы решить проблему?
Я пытался отправить электронное письмо с помощью mail()
, а также с mb_send_mail()
, используя "Content-Type: text/plain;charset=UTF-8\n";
в заголовке, но оба результата дают один и тот же результат.
Это похоже на то, что искаженный текст отображается только после того, как я отправлю электронное письмо, и если я отправлю одно и то же электронное письмо много раз, один и тот же искаженный текст будет повторяться в одной и той же позиции, но если я перезагружу форму и заполню ее снова и отправить снова, искаженный текст будет в другой позиции, иногда он показывает 1 или, может быть, 0 или даже 4 или 5 с искаженным текстом.