Rumah pembangunan bahagian belakang tutorial php ajax页面乱码与get post乱码的解决_PHP教程

ajax页面乱码与get post乱码的解决_PHP教程

Jul 13, 2016 am 10:55 AM
a ajax get post dan Watak bercelaru buat daripada selesaikan muka surat

ajax页面乱码与get post乱码的解决
之前做ASP页面各种乱码,页面刷新就乱码或者链接就乱码,昨晚去问了下度娘,总结出一个解决办,在所有ASP页面之前加上 ,65001指的是UTF-8编码格式 GB2312是936,原因就是你在进入UTF-8页面的时候 其他程序没有声明Response.CodePage 而是 Session.CodePage立即被赋值了 (65001或936因版本不同赋值不一样),接着进入另一页的时候 另一页的Response.CodePage立即被Session.CodePage赋值 于是如果那个页得@ CODEPAGE = 936 的话 你这个页的 Response.CodePage 被赋值成了 65001肯定会出乱码的 所以 在页面的开头先统一写好编码 。

  然后昨晚后来又碰到一个问题是AJAX返回中文的时候显示乱码而 2个页面的编码都是一样的UTF-8 为毛会出现乱码 查了度娘是说在AJAX处理页面加上 结果页面显示不出内容 自己研究了下估计是数据库教程的数据编码问题,因为ACCESS数据编码是根据你写进去数据时的编码我写进去的时候是GB2312现在用UTF-8格式的编码解码肯定会乱码 怎么办呢 把 然后AJAX中文就返回正常了 . 这里讲下 Charset属性在W3C的解释是 向页面的Response对象中content-type 头部追加字符集名称。

  添加

  页面输出显示

  

我估计是Charset将字符集改成了GB2312所以可以接受GB2312编码的数据所以就不会乱码了


看一下get,post乱码的ajax解决办法

数据出现乱码从程序执行的过程来讲分为两种,一种是发送给后台程序的中文本身就是乱码,因为xmlHTTP沿用的是网页特效的字处理机制,使用UTF-8编码。但是后台页面使用GB2312或者其它类型编码的话,接收到的数据自然就是乱码了。还有一种是接受到数据再返回的时候,出现字符乱码。这也是因为后台页面使用的编码和Javascript编码不同造成的。服务器脚本返回的字符默认会使用服务器编码例如GB2312。服务器发回数据乱码问题是很容易解决的,我们只要在服务器发回数据的页面加上一个定义编码的文件头即可。
  定义文件头信息的时候根据脚本的不同,可以使用以下方式:
  PHP:header("Content-Type:text/html;charset=GB2312"); 
  ASP:Response.Charset("GB2312")
  JSP:response.setHeader("Charset","GB2312");
  (其它脚本可以查找其相关类库,通常都有设置header信息的函数或方法。)
  说完了发回信息,我们在说一下发送信息乱码的问题。其实不关是怎样的编码,我们输入的中文字符都会被正确的以UTF-8格式发送到服务器端,只是在服务器接收的时候没有按照我们预期的方式去解码,而是使用了服务器默认的字符编码方式,通常是GB2312来解码信息。那我们看到的字符自然就是错误的。
  我们都知道,XMLHTTP有两种发送数据的方式,一种是GET,一种是POST。GET的乱码解决起来比较简单。只要加上一个定义编码的Header信息即可:setrequestheader("Content-Type","text/html; encoding=gb2312")。这样GET方式发送出去的数据会被服务器脚本正确的理解为GB2312方式,从而进行解码。
  比较难的部分是使用POST方法发送数据的时候,上面的方法就失效了,因为POST数据使用的Content-type使用的是:xmlObj.setrequestheader("Content-Type","application/x-www-form-urlencoded");没有定义字符编码的地方。我在这个问题的解决上遇到了很大的困难,但是目前已经找到两种比较好的解决方法。首先是将中文字符在发送到服务器端之前进行URL编码。也就是使用:encodeURI()。
  但要注意的是,这个方法要用两次,第一次是将字符加工成URL编码。第二次是将编码后的数据再次编码。这样做是因为,第一次编码如果发送的话,服务器端会自动对其进行解码,如果这样那我们就没有办法来控制我们希望的解码方式了。所以要进行两次encodeURL。这样做的目的在于,我们在服务器端获得的数据是一个被encodeURL后的字符串。然后我们再用服务器端脚本的相应解码函数来还原字符串,如此一来,我们就得到了一个我们希望得到的正确的字符串了。这样做的坏处是,我们不得不成倍的增加Send出去的数据量。要知道,数据量变大,出错的机会也就随之变大。
  还有一种方式是使用cookies转储数据,这样虽然不会增加数据但是对于浏览器权限有一定要求。虽然读写cookie是很容易得事情。但我觉得这样操作并不理想。在我没有进行试验的情况下我也不好多说什么。而我认为,应该还有第三种方法可以解决乱码的问题。

  AJAX POST 乱码在 PHP 中的解决方法!
  虽然不高级,也不帅,但最终还是解决了问题。而问题的解决,正式因为PHP完善的函数库!只是一个 iconv() 函数就解决了乱码的问题!
  在客户端,不需要任何的设置。只要将正常的值获取并使用xmlHTTP Send到服务器端,然后在服务器端正常接受值。在接收到值之后使用iconv()函数将字符串重新编码一下就好了!
$R_Guest = strval(iconv("UTF-8","GB2312",$_POST["R_Guest"]));
$R_Content = strval(iconv("UTF-8","GB2312",$_POST["R_Content"]));

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632279.htmlTechArticleajax页面乱码与get post乱码的解决 之前做ASP页面各种乱码,页面刷新就乱码或者链接就乱码,昨晚去问了下度娘,总结出一个解决办,在所有ASP页...
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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 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)

Lima petua untuk mengajar anda cara menyelesaikan masalah telefon Black Shark tidak dihidupkan! Lima petua untuk mengajar anda cara menyelesaikan masalah telefon Black Shark tidak dihidupkan! Mar 24, 2024 pm 12:27 PM

Apabila teknologi telefon pintar terus berkembang, telefon bimbit memainkan peranan yang semakin penting dalam kehidupan seharian kita. Sebagai telefon perdana yang memfokuskan pada prestasi permainan, telefon Black Shark sangat digemari oleh pemain. Namun, kadangkala kita juga menghadapi situasi telefon Black Shark tidak boleh dihidupkan Pada masa ini, kita perlu mengambil beberapa langkah untuk menyelesaikan masalah ini. Seterusnya, izinkan kami berkongsi lima petua untuk mengajar anda cara menyelesaikan masalah telefon Black Shark tidak dihidupkan: Langkah 1: Periksa kuasa bateri Pertama, pastikan telefon Black Shark anda mempunyai kuasa yang mencukupi. Ia mungkin kerana bateri telefon telah habis

Bagaimana untuk menyelesaikan masalah menyimpan gambar secara automatik semasa menerbitkan di Xiaohongshu? Di manakah imej yang disimpan secara automatik semasa menyiarkan? Bagaimana untuk menyelesaikan masalah menyimpan gambar secara automatik semasa menerbitkan di Xiaohongshu? Di manakah imej yang disimpan secara automatik semasa menyiarkan? Mar 22, 2024 am 08:06 AM

Dengan perkembangan media sosial yang berterusan, Xiaohongshu telah menjadi platform untuk lebih ramai golongan muda berkongsi kehidupan mereka dan menemui perkara yang indah. Ramai pengguna bermasalah dengan isu autosimpan semasa menyiarkan imej. Jadi, bagaimana untuk menyelesaikan masalah ini? 1. Bagaimana untuk menyelesaikan masalah menyimpan gambar secara automatik semasa menerbitkan di Xiaohongshu? 1. Kosongkan cache Pertama, kita boleh cuba mengosongkan data cache Xiaohongshu. Langkah-langkahnya adalah seperti berikut: (1) Buka Xiaohongshu dan klik butang "Saya" di sudut kanan bawah (2) Pada halaman tengah peribadi, cari "Tetapan" dan klik padanya (3) Tatal ke bawah dan cari "; Kosongkan Cache". Klik OK. Selepas mengosongkan cache, masukkan semula Xiaohongshu dan cuba siarkan gambar untuk melihat sama ada masalah penjimatan automatik telah diselesaikan. 2. Kemas kini versi Xiaohongshu untuk memastikan bahawa Xiaohongshu anda

Pemacu tidak boleh dimuatkan pada peranti ini Bagaimana untuk menyelesaikannya? (Diuji secara peribadi dan sah) Pemacu tidak boleh dimuatkan pada peranti ini Bagaimana untuk menyelesaikannya? (Diuji secara peribadi dan sah) Mar 14, 2024 pm 09:00 PM

Semua orang tahu bahawa jika komputer tidak dapat memuatkan pemacu, peranti mungkin tidak berfungsi dengan betul atau berinteraksi dengan komputer dengan betul. Jadi bagaimana kita menyelesaikan masalah apabila kotak gesaan muncul pada komputer bahawa pemandu tidak boleh dimuatkan pada peranti ini? Editor di bawah akan mengajar anda dua cara untuk menyelesaikan masalah dengan mudah. Tidak dapat memuatkan pemacu pada peranti ini Penyelesaian 1. Cari "Pengasingan Kernel" dalam menu Mula. 2. Matikan Integriti Memori, dan ia akan menggesa "Integriti Memori telah dimatikan. Peranti anda mungkin terdedah. Klik di belakang untuk mengabaikannya, dan ia tidak akan menjejaskan penggunaan." 3. Masalah boleh diselesaikan selepas menghidupkan semula mesin.

Bagaimana untuk menyelesaikan masalah aksara yang kacau apabila mengimport data Cina ke Oracle? Bagaimana untuk menyelesaikan masalah aksara yang kacau apabila mengimport data Cina ke Oracle? Mar 10, 2024 am 09:54 AM

Tajuk: Kaedah dan contoh kod untuk menyelesaikan masalah aksara bercelaru apabila mengimport data Cina ke dalam Oracle Apabila mengimport data Cina ke pangkalan data Oracle, aksara bercelaru sering muncul Ini mungkin disebabkan oleh tetapan set aksara pangkalan data atau masalah penukaran pengekodan semasa import proses. . Untuk menyelesaikan masalah ini, kami boleh mengambil beberapa kaedah untuk memastikan data Cina yang diimport dapat dipaparkan dengan betul. Berikut ialah beberapa penyelesaian dan contoh kod khusus: 1. Semak tetapan set aksara pangkalan data Dalam pangkalan data Oracle, tetapan set aksara adalah

Bagaimana untuk menangani masalah yang halaman Laravel tidak dapat memaparkan CSS dengan betul Bagaimana untuk menangani masalah yang halaman Laravel tidak dapat memaparkan CSS dengan betul Mar 10, 2024 am 11:33 AM

"Bagaimana untuk menangani kegagalan halaman Laravel untuk memaparkan CSS dengan betul, contoh kod khusus diperlukan" Apabila menggunakan rangka kerja Laravel untuk membangunkan aplikasi web, kadangkala anda akan menghadapi masalah bahawa halaman tidak dapat memaparkan gaya CSS dengan betul, yang boleh menyebabkan halaman untuk menghasilkan gaya yang tidak normal. Artikel ini akan memperkenalkan beberapa kaedah untuk menangani kegagalan halaman Laravel untuk memaparkan CSS dengan betul, dan menyediakan contoh kod khusus untuk membantu pembangun menyelesaikan masalah biasa ini. 1. Semak laluan fail Mula-mula semak laluan fail CSS.

Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Mar 25, 2024 am 10:42 AM

Tajuk: Kaedah pelaksanaan lompat halaman dalam 3 saat: Panduan Pengaturcaraan PHP Dalam pembangunan web, lompat halaman adalah operasi biasa Secara umumnya, kami menggunakan tag meta dalam kaedah HTML atau JavaScript untuk melompat ke halaman. Walau bagaimanapun, dalam beberapa kes tertentu, kita perlu melakukan lompatan halaman pada bahagian pelayan. Artikel ini akan memperkenalkan cara menggunakan pengaturcaraan PHP untuk melaksanakan fungsi yang secara automatik melompat ke halaman tertentu dalam masa 3 saat, dan juga akan memberikan contoh kod tertentu. Prinsip asas lompat halaman menggunakan PHP adalah sejenis

Bagaimana untuk menangani aksara bercelaru dalam terminal Linux Bagaimana untuk menangani aksara bercelaru dalam terminal Linux Mar 20, 2024 pm 03:12 PM

Bagaimana untuk menangani masalah aksara bercelaru dalam terminal Linux Apabila menggunakan sistem Linux, kadang-kadang teks yang dipaparkan dalam terminal akan bercelaru Ini membawa ketidakselesaan kepada kita apabila menggunakan terminal dan perlu ditangani tepat pada masanya. Artikel ini akan memperkenalkan cara menangani beberapa masalah biasa terminal Linux yang bercelaru, dan memberikan contoh kod khusus. Masalah 1: Aksara Cina bercelaru pada terminal Aksara Cina bercelaru pada terminal biasanya disebabkan oleh tetapan pengekodan aksara yang salah pada terminal. Kita boleh menyelesaikan masalah ini dengan mengubah suai tetapan pengekodan aksara terminal. #Lihat terminal semasa

Bagaimana untuk menyelesaikan Laravel tidak dapat memuatkan gaya CSS Bagaimana untuk menyelesaikan Laravel tidak dapat memuatkan gaya CSS Mar 10, 2024 am 09:12 AM

Tajuk: Bagaimana untuk menyelesaikan masalah yang Laravel tidak dapat memuatkan gaya CSS Dalam proses menggunakan Laravel untuk pembangunan web, kadangkala anda akan menghadapi situasi di mana gaya CSS tidak boleh dimuatkan, yang mungkin menyebabkan halaman dipaparkan secara tidak normal. Artikel ini akan memperkenalkan beberapa punca dan penyelesaian biasa, serta memberikan contoh kod khusus untuk rujukan anda. 1. Semak sama ada laluan fail CSS adalah betul Pertama, pastikan laluan fail CSS adalah betul Biasanya dalam projek Laravel, fail CSS akan diletakkan di tempat awam

See all articles