我有一个简单的java代码,它将POST请求发送到php文件,例如,当我回显帖子时,我发送“test+-”,它返回“test -”,为什么+被删除?
java代码将文本转换为字节,也许符号丢失了?
OutputStream out=conn.getOutputStream();
out.write(test.getBytes());
感谢您的帮助。
更新:
我输入了out.write(URLEncoder.encode(test).getBytes());
,感谢@Marek,但是使用这种方法,php无法识别POST文本
编辑:
找到解决方案,基于 @HugoDelsing 的答案,我只需在 php 类中用 + 替换所有空格即可解决错误。
$test = str_replace(' ', '+', $test);
最佳答案
你不能只写post流,你必须对其进行编码,例如使用 URLEncoder
:
out.write(URLEncoder.encode(test).getBytes());
不清楚您正在使用什么编码,请将其作为第二个参数提供。
关于java - _POST[] 删除所有+号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28324813/