Java中的非Ascii Unicode编码和解码

时间:2018-09-03 05:51:02

标签: java android unicode encode

如何使用Java“非ASCII Unicode编码”以编程方式进行操作。 输入为:“ abcആന” 输出应为: “ abc \ u0d06 \ u0d28”

注:-ASCII和空格字符未转换为Unicode字符 所有其他字符都将被编码。

我们需要此转换,因为Server不支持非ASCII字符。

1 个答案:

答案 0 :(得分:0)

需要将服务器端编码更改为将在MySql数据库中支持的UTF-8

在Android方面,您还需要将这些字符编码为UTF-8,因为字符(ആന)位于UTF-8中

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

urlConnection.setChunkedStreamingMode(0);
urlConnection.setConnectTimeout(2500);
urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");//<- and here !!!
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setRequestMethod("POST");

if(jsonObject!=null) {
    OutputStream os = urlConnection.getOutputStream();
    os.write(jsonObject.toString().getBytes("UTF-8"));//<- and here !!!
}