开发者社区> 问答> 正文

用ajax发送php,php发送xml中文字符时出现各种乱码?报错

我用ajax把字符传给php,然后php接受到字符后把字符保存到xml上。可是某种格式下IE会出现问题,另外一种格式下火狐/谷歌浏览器又出现问题。麻烦大家看看。

如果用以下编码,谷歌火狐等能存入,ie不能存入(会把xml文档变成乱码)。

html开头:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ajax传入代码:xmlhttp.open("GET","send.php?kk=Math.random()&to="+to0+"&con="+content+"&from="+from0,true);
xmlhttp.send();

PHP开头:header("Content-type: text/html; charset=utf-8");传送的字符$tost=$xmlu->createTextNode($to);不用iconv解码

XML开头:<?xml version="1.0" encoding="utf-8"?>

如果用以下编码,谷歌火狐直接清空xml文档,ie可以写入xml,但是只要是中文字符就是空标签<from></from>

html开头:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ajax传入代码:xmlhttp.open("GET","send.php?kk=Math.random()&to="+to0+"&con="+content+"&from="+from0,true);
xmlhttp.send();

PHP开头:header("Content-type: text/html; charset=utf-8");传送的字符$tost=$xmlu->createTextNode(iconv('utf-8','gb2312',$to));同时如果这个用双引号",ie报错。

XML开头:<?xml version="1.0" encoding="gb2312"?>



展开
收起
爱吃鱼的程序员 2020-06-22 10:52:05 512 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    看你的响应编码,和数据库中查询出来的编码。。。。。

    回复 @Rayn-瑞恩:......................回复 @kog-7:哈哈哈。。。蛋疼了吧!没有数据库,就是把xml当小的数据库在用在IE中使用错误显示Warning:DOMDocument::load():inputconversionfailedduetoinputerror,其他不是ie内核的都可以用

    http://bbs.csdn.net/topics/230050621

    这个是读取不是写入的,我看过,不适合我这个,还是谢谢你
    2020-06-22 10:52:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载