我验证了一下几个状态
echo "你好";    // 你好
echo json_encode("你好")  // /u4f60/u597d  这个我也无所谓
echo $_POST['key']  // ??实际上我是在弄android, 连接用的包是org.apache.http下的求解如何向php post中文php post 中文phppost中文java

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

    decode输出的确实是'?'我想应该是java和php编码问题吧
    因为我php如果变量里存中文,去mysql做查询也是没问题的你知道php.ini里怎么改编码吗
      

  5.   


    好像是有可能发送的时候错了 不管什么中文单字都是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;
      

  6.   

    好了谢谢各位我已经解决了UrlEncodedFormEntity entity = new UrlEncodedFormEntity(
                            listParams);
    //改成UrlEncodedFormEntity entity = new UrlEncodedFormEntity(
                            listParams,HTTP.UTF-8);