只需一步,快速开始
今天工作中碰到一个很诡异的问题。从memcache中取出的json字符串无法解析。返回值为null。
我在做一个游戏的认证接口,客户端传入一串加密过的token,我解密以后去memcache中获取用户认证数据。
这段数据是游戏服务器端写入进memcache中的。
我把数据读出来以后,怎么都解析不了。但是打印出来没问题。
去google了一下,都是说双引号和单引号的问题。
但是我把打印出来的字符串直接放入php文件中是可以解析的,
这就排除了双引号和单引号的问题。
接着用var_dump查看字符串,发现字符数目不对。
反应过了,应该是多了隐藏字符。
接着把字符串的ascll码打印出来。
发现多了一个"\0"这个字符。马上反应过了,服务器端程序是用C写的,在C中。字符串是以"\0"结尾。
把这个小尾巴也保存进了memecache中了。哈哈。
终于解决了。用str_replace("\0","",$str);替换掉这个小尾巴就好了。
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )
GMT+8, 2024-11-27 15:28 , Processed in 0.023061 second(s), 6 queries , Gzip On, Redis On.
Powered by Discuz! X3.4
Copyright © 2001-2023, Tencent Cloud.