我写了一个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整理utf8_general_ci;2:在 HTML 头部分添加 UTF-8:
连接到 MySQL 数据库后尝试此操作...
而不是使用
header('Content-typ: content="text/html; charset=UTF-8');
使用以下方法
mysql_query("SET NAMES 'utf8'");
添加到
添加默认字符集 utf-8 到 httpd.conf (Apache 配置文件?)
或者也许是输入错误
header('Content-typ: content="text/html; charset=UTF-8');
自
header('Content-type: content="text/html; charset=UTF-8');