【发布时间】:2013-10-15 10:50:06
【问题描述】:
我向 php 函数发送了一封带有 jQuery ajax 调用的电子邮件。格式为 UTF-8,电子邮件发送正常。但是在服务器函数接收到的数据($message)中,每隔大约 1000 到 1200 个字符就会增加一个新行。
示例:(“und si”和“e sich”之间换行):
{
"content": "Vielen war es einfach zu viel Aufwand, zu verschlüsseln. Oder sie waren einfach träge. Sie wollten nicht verschlüsseln, weil es Zeit kostete und si
e sich in etwas Neues hineindenken mussten.",
javascript代码:
var factString = JSON.stringify(fact);
$.ajax({
type: "POST",
url: "email.php",
data: "json="+factString+"&thought="+currentThought,
success: function(r){
$('#send_thought .buttontext').html("GEDANKE WEGGESCHICKT!");
}
});
php:
<?php
ini_set( 'default_charset', 'UTF-8' );
mb_internal_encoding('UTF-8');
if($_POST){
$thought = $_POST['thought'];
$message = utf8_decode($_POST['json']);
//send email
mail("michael@primaerarbeit.de", "Gedanke ".$thought." von CP11", $message);
print("Sent thought ".$thought."!");
}
?>
【问题讨论】:
-
为什么没有 $message = utf8_decode(json_decode($_POST['json']));在你的代码中?
-
它是一个字符串。为什么我要把它解码为 json?我试过了,它返回一个错误...
-
为什么要发布为 JSON 字符串?为什么
data是字符串而不是对象? -
“只有大约每 1000 到 1200 个字符,电子邮件文本中才会有一个额外的新行。” – 在您的服务器端脚本传递的数据中,或在电子邮件中收到了吗?
-
在服务器端过去的数据中...
标签: javascript php jquery ajax utf-8