我编写了一个 js 脚本来将表单数据发送到我的 php 后端。但文本字段会以错误的编码接收它。
这是我为此网站的元标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这是我的文本区域:
<textarea id="orderlistlieferanschrift" style="width:294px; height:80px; resize:none;"></textarea>
这是我的 php 脚本:
header('Content-typ: content="text/html; charset=UTF-8');
$postdata = $_POST["postData"];
error_log($postdata);
数据收集如下:
var Lieferanschrift = $("#orderlistlieferanschrift").val();
aOrderInformations[9] = Lieferanschrift;
这是我的 ajax 请求:
var postData = JSON.stringify(aOrderInformations);
if(!ajaxload2) {
//alert(postData);
ajaxload2 = true;
$.ajax({
type : 'POST',
url : 'share/content/helper/writeorderdata.php',
cache: false,
dataType : 'json',
data: {postData:postData},
success: function() {
ajaxload2 = false;
alert("erledigt");
}
});
}
在服务器日志中显示的数据如下:
"Zentrale Oberursel\\nGablonzer Stra\xc3\x9fe 35\\n61440 Oberursel"
当我在 jquery ajax 中使用选项 data-Typ 并与它们一起玩时,数据将不会发送。
最佳答案
如果您必须确保一切都按顺序进行...... 1:表默认字符集utf8 COLLATE utf8_general_ci; 2: 在 html head 部分添加 utf-8:
连接到 MySQL 数据库后尝试此操作...
而不是使用
header('Content-typ: content="text/html; charset=UTF-8');
使用以下内容
mysql_query("SET NAMES 'utf8'");
关于javascript - 发送 Jquery Ajax 时的 UTF-8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19514030/