一个php网页, 通过HTML网页的form, post给php代码, 然后通过socket发送一个请求信息给server端, server端接收到信息后, 生成一堆数据, 二进制的, 然后发送给php端, php端接收数据, php在接收数据后, 调用了strlen 测试了一下消息体的长度, 和server端发送的包长度是一样的, 然后在网页上显示出来, 就这样一个过程, 我在webserver为apche的情况下, 测试了一下, 接收是对的, 我用的是xampp. 就是在 nginx+php+php-fpm这种环境下接收后打印输出信息不全. 同样的代码, 目前不知道是什么情况...
解决方案 »
- php 写入数据库如何处理&字符?不是用其它特定来替换”&“字符。
- 请教关于php中使用ajax实现菜单联动查询的思路和方法
- php socket 客户端长连接
- PHP里有没有像htmlspecialchars()那样的把要用在LIKE中的字符串中的通配符转换成转义字符的函数?
- php设置问题
- php出现奇怪现象!!!帮忙~~
- mysql 数据表 varchar 型数据不能存储 中文吗?
- 我的PHP程序在浏览器中显示中文显示的是乱码,何故?
- 继续cookie的问题。请高手指教
- 我想学做网站方面的程序,是用ASP好,还是PHP好?因为这方面发展太快了,等我会的时候PHP会不会被淘汰,我可是反应比较慢哟。
- 求助大神 关于上下载问题
- 紧急求助,投票系统被刷了
但form传值不可能大到网页都要限制,你试下不用htmlentities输出呢,每一步都打出结果来看一下源代码,如果有特殊字符被解析了。
之前遇到过在处理json时有window和linux字符多少不一样的问题,但也就是开头几个字符,截取就行了。
确认一下,两个服务器环境下长度都是一样的吗?
那么问题就出在显示上了
但是其中的中文是 GBK 编码的(至少你给的这部分是)
你应该检查输出时的处理代码
$recv_res = iconv("gbk", "utf-8", $recv_res);然后echo的时候 做的echo htmlentities($data[$i],ENT_NOQUOTES,"utf-8")."<br>";
我就怀疑 是不是什么地方限制了字节数的输出.....
如果它其中的某个成员就是 utf-8 的呢?不就乱套了吗?