新学WDDX用来传递人员姓名,住址等参数,发现出现字串有中文后,wddx_deserialize()失效, 英文则一切正常;中文用iconv也转换过,还是没用。 抓狂中, wddx不能传递中文还有什么用,请各位大侠指点一下,感激。
解决方案 »
- wordpress主题请进
- Fatal error: Uncaught exception 'Exception' with message 'Connect failed: Access
- 得到字符串长度问题
- 在线急问!关于输入框内写入php代码并显示的问题.
- win2003+php5 ADOdb 链接 sql2000,读取数据库ntext字段部分乱码问题
- 怎么表示昨天、前天
- PHP与Oracle的配置问题
- 请教php中使用session和globals的方法!
- 谁能给我一个处理安全字符串的函数啊
- PHP系统公告-发送通知给每个人
- juqerymobile+ajax数据返回样式
- 请问一个在php中调用javascript的问题
header("content-type:text/html;charset=utf-8");
$text = "中国人民";
$packet = wddx_serialize_value($text);
$header = '<?xml version="1.0" encoding="utf-8"?>';
$newText = wddx_deserialize($header . $packet);
echo "Packet: $packet\n";
echo "Deserialized: $newText\n";
文件编码和代码中声明的编码不一致。请把你的文件保存为utf-8格式的再测试
或者你统一换成gbk的
结果还是这样 , 显示Packet很正常,可Deserialized就是出现乱码.
奇怪的很.
看下是否有bom头,保存为utf-8无bom格式的试试。
<?php
header("content-type:text/html;charset=utf-8");
$sfzh='111111111111111111';
$name="大宝";
$packet_id=wddx_packet_start("info");
wddx_add_vars($packet_id, "name","sfzh");
$packet_out = wddx_packet_end($packet_id);
echo $packet_out;
?> 访问端
<?php
header("content-type:text/html;charset=utf-8");
$url_gen='http://192.168.1.10/test.php';
$packet=implode("",file($url_gen));
$header="<?xml version='1.0' encoding='utf-8'?>";
print_r(wddx_deserialize($header.$packet));
?>