php - 我如何将 json 中的阿拉伯字符从 android 发送到 PHP

标签 php android json

当我在 android 中创建 json 时,我将阿拉伯字符放入 json 中,如下代码所示:

 HttpClient httpclient = new DefaultHttpClient();
 HttpPost httppost = new HttpPost(url);
 JSONObject json = new JSONObject();
 try {
       json.put("jsonValue", "بسم الله ");
 } catch(Exception e) {
 }
 JSONArray postjson = new JSONArray();
 postjson.put(json);

 httppost.setHeader("json", json.toString());
 httppost.getParams().setParameter("jsonpost", postjson);             

 HttpResponse response = httpclient.execute(httppost);

php 代码包含charset_utf_8 但结果不正确。 php代码如下所示

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <?php

   $json = $_SERVER['HTTP_JSON'];
   var_dump($data);
   $data = json_decode($json);
   $jsonValue= $data->jsonValue;

   echo $jsonValue;
 ?>

打印出来的结果是这样的“(3E 'DDG, 有没有人能帮忙看看?

最佳答案

您可以在 android 中使用 URLEncoder,如下所示:

json.put("jsonValue",URLEncoder.encode(jsonValue, "utf-8"));

并在您的 php 代码中使用 urldecode:

$jsonValue= urldecode($data->jsonValue);

关于php - 我如何将 json 中的阿拉伯字符从 android 发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36860414/

相关文章:

php - XPath 查询返回空值

android - 如何更改 Ionic build ios 命令的默认设置?

java - 安卓广播地址

javascript - 从 json 中提取值

PHP PDO : charset, 设置名称?

php - 使用 php、ajax 和 jquery 对 mysql 表进行排序

php - Preg_match 验证字符串中的特殊字符

android - 在 Kotlin 更新到 1.6.0 后,不确定如何将 Cursor 转换为此方法的返回类型

c++ - 用于 2D RPG 的 XML vs YAML vs JSON

ruby-on-rails - 如何在 API 请求中将 JSON 作为字符串发送