我有一个简单的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);

最佳答案

您不仅可以编写帖子流,还必须对其进行编码,例如使用URLEncoder

out.write(URLEncoder.encode(test).getBytes());


目前尚不清楚您使用的是哪种编码,将其作为第二个参数提供。

关于java - _POST []删除所有+号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28324813/

10-16 22:43