Rumah pembangunan bahagian belakang tutorial php 如何正确处理PHP Ajax乱码_PHP教程

如何正确处理PHP Ajax乱码_PHP教程

Jul 15, 2016 pm 01:31 PM
ajax php unicode secara amnya muat naik Watak bercelaru bagaimana data ya praktikal pengekodan

由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。

PHP Ajax乱码解决方法之一就是在PHP文件中显示声明为GB2312

header("Content-Type:text/html;charset=GB2312");

而对于发送到服务器的中文进行转码。

如下

$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);

因而这样可以解决PHP Ajax乱码问题

方法二,是都采用UTF-8编码。这里就不多说了

PHP Ajax乱码解决示例之客户端

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> !DOCTYPE HTML PUBLIC "-//W3C//<br>DTD HTML 4.01 Transitional//EN"</span><span class="tag">></span><span>   </span></span></span></li>
<li><span class="tag"><span> </span><span class="tag-name">html</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">head</span><span class="tag">></span><span>   </span></span></li>
<li><span class="tag"><span> </span><span class="tag-name">meta</span><span> </span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">"Content-Type"<br></span><span> </span><span class="attribute">content</span><span>=</span><span class="attribute-value">"text/html; charset=gb2312"</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">title</span><span class="tag">></span><span>ajax post test</span><span class="tag"></span><span class="tag-name">title</span><span class="tag">></span><span>   </span></span></li>
<li><span class="tag"><span> /head</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">body</span><span class="tag">></span><span>   </span></span></li>
<li><span class="tag"><span> </span><span class="tag-name">div</span><span> </span><span class="attribute">id</span><span>=</span><span class="attribute-value">"msg"</span><span class="tag">></span><span class="tag"><span> /div</span><span class="tag">></span><span>   </span></span></span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">script</span><span> </span><span class="attribute">language</span><span>=</span><span class="attribute-value">"javascript"</span><span class="tag">></span><span>   </span></span></li>
<li><span>/**   </span></li>
<li class="alt"><span>* 初始化一个xmlhttp对象   </span></li>
<li><span>*/   </span></li>
<li class="alt"><span>function InitAjax()   </span></li>
<li><span>{   </span></li>
<li class="alt">
<span> var </span><span class="attribute">ajax</span><span>=</span><span class="attribute-value">false</span><span>;   </span>
</li>
<li><span> try {   </span></li>
<li class="alt">
<span></span><span class="attribute">ajax</span><span> = </span><span class="attribute-value">new</span><span> ActiveXObject<br>("Msxml2.XMLHTTP");   </span>
</li>
<li><span> } catch (e) {   </span></li>
<li class="alt"><span>try {   </span></li>
<li>
<span> </span><span class="attribute">ajax</span><span> = </span><span class="attribute-value">new</span><span> ActiveXObject<br>("Microsoft.XMLHTTP");   </span>
</li>
<li class="alt"><span>} catch (E) {   </span></li>
<li>
<span> </span><span class="attribute">ajax</span><span> = </span><span class="attribute-value">false</span><span>;   </span>
</li>
<li class="alt"><span>}   </span></li>
<li><span> }   </span></li>
<li class="alt"><span> if (!ajax && typeof XMLHttp<br>Request!='undefined') {   </span></li>
<li>
<span></span><span class="attribute">ajax</span><span> = </span><span class="attribute-value">new</span><span> XMLHttpRequest();   </span>
</li>
<li class="alt"><span> }   </span></li>
<li><span> return ajax;   </span></li>
<li class="alt"><span>}   </span></li>
<li><span>//在form 测试页面内有一个表单,一个显示的层   </span></li>
<li class="alt"><span>function sendData()   </span></li>
<li><span>{   </span></li>
<li class="alt">
<span>var </span><span class="attribute">msg</span><span>=</span><span class="attribute-value">document</span><span>.getElementById("msg");   </span>
</li>
<li>
<span>var </span><span class="attribute">f</span><span>=</span><span class="attribute-value">document</span><span>.form1;   </span>
</li>
<li class="alt">
<span>var </span><span class="attribute">c</span><span>=</span><span class="attribute-value">f</span><span>.content.value;   </span>
</li>
<li><span>//接收数据的URL   </span></li>
<li class="alt">
<span>var </span><span class="attribute">url</span><span>=</span><span class="attribute-value">"dispmsg.php"</span><span>;   </span>
</li>
<li>
<span>var </span><span class="attribute">poststr</span><span>=</span><span class="attribute-value">"content="</span><span>+c;   </span>
</li>
<li class="alt">
<span>var </span><span class="attribute">ajax</span><span>=</span><span class="attribute-value">InitAjax</span><span>();   </span>
</li>
<li><span>ajax.open("POST",url,true);   </span></li>
<li class="alt"><span>ajax.setRequestHeader("Content-Type",<br>"application/x-www-form-urlencoded");   </span></li>
<li><span>ajax.send(poststr);   </span></li>
<li class="alt">
<span class="attribute">ajax.onreadystatechange</span><span>=</span><span class="attribute-value">function</span><span>(){   </span>
</li>
<li>
<span>if(</span><span class="attribute">ajax.readyState</span><span>==4 && </span><span class="attribute">ajax.status</span><span>==200){   </span>
</li>
<li class="alt"><span>alert("I got something");   </span></li>
<li>
<span class="attribute">msg.innerHTML</span><span>=</span><span class="attribute-value">ajax</span><span>.responseText;   </span>
</li>
<li class="alt"><span>}   </span></li>
<li><span>}   </span></li>
<li class="alt"><span>}   </span></li>
<li><span class="tag"><span> /script</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">form</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">'form1'</span><span class="tag">></span><span>   </span></span></li>
<li><span class="tag"><span> </span><span class="tag-name">input</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"text"</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">'content'</span><span> </span><span class="attribute">size</span><span>=</span><span class="attribute-value">10</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span class="tag-name">input</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">"button"</span><span> </span><span class="attribute">value</span><span>=</span><span class="attribute-value">"确定"</span><span> <br></span><span class="attribute">onclick</span><span>=</span><span class="attribute-value">"sendData()"</span><span class="tag">></span><span class="tag"><span> !--我用submit时就出错--</span><span class="tag">></span><span>   </span></span></span></li>
<li><span class="tag"><span> /form</span><span class="tag">></span><span>   </span></span></li>
<li class="alt"><span class="tag"><span> /body</span><span class="tag">></span><span>   </span></span></li>
<li><span class="tag"><span> /html</span><span class="tag">></span><span> </span></span></li>
</ol>
Salin selepas log masuk

PHP Ajax乱码解决示例之服务器端

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php   </span></span></span></li>
<li>
<span>header("Content-Type:text<br>/html;</span><span class="attribute">charset</span><span>=</span><span class="attribute-value">GB2312</span><span>");   </span>
</li>
<li class="alt"><span>if($_POST['content'])   </span></li>
<li><span>{   </span></li>
<li class="alt"><span>$_POST["content"]=iconv("<br>UTF-8","gb2312",$_POST["content"]);   </span></li>
<li><span>print("内容是".$_POST['content']);   </span></li>
<li class="alt"><span>}   </span></li>
<li><span>else   </span></li>
<li class="alt"><span>{   </span></li>
<li><span>print("没有内容发送");   </span></li>
<li class="alt"><span>}   </span></li>
<li>
<span class="tag">?></span><span>  </span>
</li>
</ol>
Salin selepas log masuk

以上代码示例就是PHP Ajax乱码的相关解决方法,希望对又需要的朋友有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446195.htmlTechArticle由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles