发送 Jquery Ajax 时的 UTF-8 问题


UTF-8 Problems while sending Jquery Ajax

我写了一个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');