php post 中文 php post 中文 java
我验证了一下几个状态是编码的问题
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);
有可能的话就下把它注释掉