将Marathi / Hindi文本从android发送到php post api时出现问题?

时间:2017-01-17 11:47:35

标签: php android rest

我有一个PHP API,用于将用户名存储到数据库中。 Android客户端使用此API。

如果文字是英文,则存储它没有问题。

但是,如果文本是在Marthi / Hindi中,那么它就会被存储起来。 %E0%A4%85%E0%A4%AE%E0%A5%8B%E0%A4%B2+

当我使用 Postman(Rest Client)测试API时,它可以正常工作。 问题是请求来自Android客户端。

请求为POSTContent Type:application/json

更新

Android客户端在发送请求时使用以下代码

//To encode string
public static String encodeStringInUTF16(String stringText) {

    Logger logger = new Logger();
    String utfEncodedString = null;
    try{

        if(StringHelper.isNullOrEmpty(temp)) {
            utfEncodedString = URLEncoder.encode(stringText, "utf-16");
        }else{
            utfEncodedString = stringText;
        }
    }catch (Exception e){
        logger.log(Strings.TAG, "Exception occurred in UTF-16 encoding : " + e);
    }
    return utfEncodedString;
}

//While sending request to API
StringEntity se = new StringEntity(jsonData);
httpost.setEntity(se);
httpost.setHeader("content-type", "application/json");

ResponseHandler<String> responseHandler = new BasicResponseHandler();
logRequest(url, "post", jsonData);
responseString = httpclient.execute(httpost, responseHandler);
logResponse(responseString);
  1. 我到底错过了什么?
  2. 我是否需要更改服务器端代码或 Android客户端的代码可以解决此问题吗?
  3. 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这不是你的Android问题。请查看此帖子点击Solution

别忘了投票回答:)