我有一个简单的java代码,可以向php文件发送POST请求,例如我发送" 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);
答案 0 :(得分:1)
您不能只编写后期流,您必须对其进行编码,例如使用URLEncoder
:
out.write(URLEncoder.encode(test).getBytes());
目前尚不清楚您使用的是哪种编码,请将其作为第二个参数提供。