php 如何解析通过tcp协议发过来的数据

cnaaa8 2012-07-03 10:44:10
我用tcp调试软件模拟tcp客户端发送数据,php端用socket接受,在cmd下运行,可以正常得到数据并打印到cmd窗口上,但是写到数据库中就成乱码了(英文正常,中文乱码),如果写到本地文件中,不管英文中文都不正常,是怎么回事,还需要再次解析吗?应该和编码没关系,编码utf8和gbk的都试过了
...全文
484 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dz215136304 2012-07-07
  • 打赏
  • 举报
回复
编码问题
cnaaa8 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
写到数据库中就成乱码了(英文正常,中文乱码)
显然是与数据库的字符集发生冲突了

你可以将写到数据库去的数据用
echo base64_encode($val);
打印并贴出来
[/Quote]

我输入2个"调试中文",base64后:tffK1NbQzsS198rU1tDOxA0=
xuzuning 2012-07-03
  • 打赏
  • 举报
回复
写到数据库中就成乱码了(英文正常,中文乱码)
显然是与数据库的字符集发生冲突了

你可以将写到数据库去的数据用
echo base64_encode($val);
打印并贴出来
qq120848369 2012-07-03
  • 打赏
  • 举报
回复
因为把你的字节当做GBK解释看到了中文:调试中文调试中文
dz215136304 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
收到的是 gbk 编码的文字
写数据库(mysql)前执行一次 mysql_query('setnames gbk');
[/Quote]

请问哪里看出来是gbk编码的
xuzuning 2012-07-03
  • 打赏
  • 举报
回复
收到的是 gbk 编码的文字
写数据库(mysql)前执行一次 mysql_query('setnames gbk');

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧