Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax,请求头UTF-8到ISO字符集_Php_Jquery_Ajax_Apache_Utf 8 - Fatal编程技术网

Php Ajax,请求头UTF-8到ISO字符集

Php Ajax,请求头UTF-8到ISO字符集,php,jquery,ajax,apache,utf-8,Php,Jquery,Ajax,Apache,Utf 8,我有一个编码为iso-8959-9的页面。我向同一页面发送ajax请求,同时将一些数据保存到数据库中。但它将字符转换为utf-8。 使用字符集iso-8859-9,我的响应标题看起来不错。但是请求头、内容类型数据总是UTF-8。请参阅下面的屏幕截图。 以下是我为解决这个问题所做的: 1-我设置php标题iso-8859-9 2-我将apache的默认字符集更改为iso。 3-我将ajax选项beforeSend、setRequestHeader和contentType设置为iso。 4-我修改了


我有一个编码为iso-8959-9的页面。我向同一页面发送ajax请求,同时将一些数据保存到数据库中。但它将字符转换为utf-8。 使用字符集iso-8859-9,我的响应标题看起来不错。但是请求头、内容类型数据总是UTF-8。请参阅下面的屏幕截图。 以下是我为解决这个问题所做的:
1-我设置php标题iso-8859-9
2-我将apache的默认字符集更改为iso。
3-我将ajax选项beforeSend、setRequestHeader和contentType设置为iso。
4-我修改了jquery.js并将ajax默认编码设置为iso。
他们都没有解决我的问题。顺便说一句,我不想做任何php字符集编码。
还有其他想法吗?

谢谢

我的ajax代码: `


恐怕AJAX POST请求必须使用UTF-8。委员会:

根据W3C XMLHTTPRequest标准,POST数据将始终使用UTF-8字符集传输到服务器

您现在可能想知道
contentType
设置:

注意:W3CXMLHttpRequest规范规定字符集始终为UTF-8;指定另一个字符集不会强制浏览器更改编码


换句话说,你别无选择。您需要将服务器端代码迁移到UTF-8,进行显式转换-
iconv()
mb\u convert\u encoding()
将派上用场-或者想出一个巧妙的JavaScript技巧(例如在提交之前序列化数据)。

hmm.您是对的。谢谢你的回答!我必须使用一些服务器端编码来克服这个问题。
                $.ajax({

                    url: window.location.href,
                    type: 'POST',
                    data: $(this).serialize(),
                    contentType: "application/x-www-form-urlencoded; charset=iso-8859-9",


                    success: function(result) {

                        $('#IcerikContent').html($(result).find("#Icerik"));
                        $('html, body').animate({scrollTop: 0}, 500);
                        Metronic.initAjax();
                        if (typeof initialize == 'function') { initialize(); }
                        stopPageLoading();
                    }
                });
        `