Heim > Artikel > Backend-Entwicklung > PHP中ajax的数据乱码问题
今天试了下简单的ajax测试
然后出现了乱码
<?phpheader("Content-Type: text/html; charset=utf-8");class C_test2 extends CI_Controller{ public function __construct() { parent::__construct(); } public function test(){ $data=$_POST['id']; echo 'id的值为'.$data; }}?>
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Insert title here</title><script src="js/jquery.js" type="text/javascript"></script><script src="js/test.js"></script><link href="css/test.css" rel="stylesheet" type="text/css"></head><body><input type="text" id="wenben"></input><input type="submit" id="tijiao"></input></body></html>
$(function(){ $("#tijiao").click(function(){ var turl="http://localhost/ajaxCI/C_test2/test"; var tval=$("#wenben").val(); $.ajax({ type:"POST", url:turl, data:{id:tval}, dataType:"html", async:false, success:function(back){ alert(back); } }); })})
虽然你在 php 文件中声明了 utf-8
但是你的程序文件却是 gbk 的
那应该怎么解决?
两边得同步,要gbk都是gbk,要utf8都是utf8……
把程序文件保存为 无BOM头的utf-8 格式
或者
echo iconv('gbk', 'utf-8', 'id的值为') . $data;
把文件编码改为UTF-8就搞定了