我有一个PHP API,用于将用户名存储到数据库中。 Android客户端使用此API。
如果文字是英文,则存储它没有问题。
但是,如果文本是在Marthi / Hindi中,那么它就会被存储起来。
%E0%A4%85%E0%A4%AE%E0%A5%8B%E0%A4%B2+
当我使用 Postman(Rest Client)测试API时,它可以正常工作。 问题是请求来自Android客户端。
请求为POST
和Content 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);
任何帮助将不胜感激。