java - _POST[] 删除所有+号

标签 java php post

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

相关文章:

jquery $.post $.get 在使用网站 URL 时不起作用

java - Maven 程序集创建带有依赖项的 jar,然后创建 zip 和 tar.gz 文件

java - 同名的类/接口(interface)已存在: SQLException and sqlException

java - 使用数组查找或 if else if 语句哪个更好?

java - 在java中添加/设置ipv4 LAN地址的最佳方式

php - 检查数组是否在字符串中

javascript - Firefox 和 Chrome 在 POST 期间用 CR+LF 替换 LF

php - 如何在 Cakephp 1.3 中自定义查询

javascript - 如何使用Ajax将div内容存储到数据库

php - 返回 foreach 中的第一个键