Искаженные японские (модзибаке) символы при передаче с помощью JavaScript Ajax в PHP для отправки по электронной почте

avatar
ichiro suzuki
1 июля 2021 в 19:20
67
0
0

У меня есть несколько форм на японском языке, и я использую 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 раза неправильными с . Но вместо этого у меня были данные, подобные изображению enter image description here

Что мне нужно сделать, чтобы решить проблему?

Я пытался отправить электронное письмо с помощью mail(), а также с mb_send_mail(), используя "Content-Type: text/plain;charset=UTF-8\n"; в заголовке, но оба результата дают один и тот же результат.

Это похоже на то, что искаженный текст отображается только после того, как я отправлю электронное письмо, и если я отправлю одно и то же электронное письмо много раз, один и тот же искаженный текст будет повторяться в одной и той же позиции, но если я перезагружу форму и заполню ее снова и отправить снова, искаженный текст будет в другой позиции, иногда он показывает 1 или, может быть, 0 или даже 4 или 5 с искаженным текстом.

Источник

Ответы (0)