首页 > 后端开发 > php教程 > java向php post数据时, 中文显示问号问题

java向php post数据时, 中文显示问号问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-23 14:20:19
原创
1564 人浏览过

php post 中文 php post 中文 java

我验证了一下几个状态
echo "你好";    // 你好
echo json_encode("你好")  // /u4f60/u597d  这个我也无所谓
echo $_POST['key']  // ??

实际上我是在弄android, 连接用的包是org.apache.http下的

求解如何向php post中文

回复讨论(解决方案)

是编码的问题

echo base64_encode($_POST['key']);
贴出结果 

编码问题,收到的post值需要转码,iconv

echo base64_encode($_POST['key']);
贴出结果 

发送 ‘你’  显示Pw== 

echo base64_decode('Pw=='); //输出 ?
这就是说在发送的时候‘你’已经变成‘?’了

echo base64_decode('Pw=='); //输出 ?
这就是说在发送的时候‘你’已经变成‘?’了


decode输出的确实是'?'

我想应该是java和php编码问题吧
因为我php如果变量里存中文,去mysql做查询也是没问题的

你知道php.ini里怎么改编码吗

echo base64_decode('Pw=='); //输出 ?
这就是说在发送的时候‘你’已经变成‘?’了

好像是有可能发送的时候错了 不管什么中文单字都是Pw== 如果是两个字都是Pz8=

是这样得到request的
里面的addHeader不知道有没有意义

List<NameValuePair> listParams = new ArrayList<NameValuePair>();			if (params != null)			{				for (String name : params.keySet())				{					listParams.add(new BasicNameValuePair(name, params							.get(name)));				}			}			try			{				UrlEncodedFormEntity entity = new UrlEncodedFormEntity(						listParams);				HttpPost request = new HttpPost(url);				request.addHeader("charset", HTTP.UTF_8);				request.setEntity(entity);				return request;
登录后复制

这个?那个?你好像遇到了编码转换问题、mark一下

好了谢谢各位我已经解决了

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(                        listParams);//改成UrlEncodedFormEntity entity = new UrlEncodedFormEntity(                        listParams,HTTP.UTF-8);
登录后复制

有可能的话就下把它注释掉

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
java - spring操作数据库显示中文乱码的问题?
来自于 1970-01-01 08:00:00
0
0
0
javascript - jqery ajax问题
来自于 1970-01-01 08:00:00
0
0
0
PHP 插入奇怪的符号而不是波兰字母
来自于 1970-01-01 08:00:00
0
0
0
Thinkphp关于向view传参的一些问题
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板