使用 JavaScript Ajax 传递到 PHP 以发送电子邮件时出现乱码的日语 (mojibake) 字符

问题描述

我有一些日语表单,我使用 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,并带有乱码。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...