来自 JSONObject 的 StringEntity 对象给出 java.io.UnsupportedEncodingException

StringEntity object from JSONObject gives java.io.UnsupportedEncodingException

我是 Java 的新手,正在尝试制作本机 android 应用程序,其中包括对 API 服务器进行 HTTP 调用。现在我的问题是使用一些 JSON 数据进行 HTTP POST(apache httpPost 和 httpClient)调用。因此,为了从 JSONObject 中创建 StringEntity,我正在编写这行代码:

StringEntity userDataStringEntity = new StringEntity(userDataString);

其中 StringEntity 是从 import org.apache.http.entity.StringEntity; 导入的。

我已尝试搜索此问题,但我找到了具有相同 "string" 参数的相同方法。

这里有一些链接,但对我没有帮助:

How to send a JSON object over Request with Android?

这绝对很奇怪,默认情况下 StringEntity 用于字符集 "ISO-8859-1",这告诉我 userDataString 在另一个字符集中。

无论哪种方式,请尝试:

StringEntity userDataStringEntity = new StringEntity(userDataString, "UTF-8");

这适用于 utf-8 编码的字符串。

可能不相关,但我在编译时遇到错误,因为新的 StringEntity(str) 没有包含在 try catch 中。

可能对某人有用:)