gson无法解析泰米尔语结果

14ifxucb  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(125)

因此,我尝试使用Java-Telegram-Bot-Apihttps://api-thirukkural.vercel.app/api?num=1139获取JSON结果,并将其发送到telegraph。
API的预期结果:

{"number":1139,"sect_tam":"காமத்துப்பால்","chapgrp_tam":"களவியல்","chap_tam":"நாணுத் துறவுரைத்தல்","line1":"அறிகிலார் எல்லாரும் என்றேஎன் காமம்","line2":"மறுகின் மறுகும் மருண்டு.","tam_exp":"என்னைத் தவிர யாரும் அறியவில்லை என்பதற்காக என் காதல் தெருவில் பரவி மயங்கித் திரிகின்றது போலும்!","sect_eng":"Love","chapgrp_eng":"The Pre-marital love","chap_eng":"Declaration of Love's special Excellence","eng":"My perplexed love roves public street Believing that none knows its secret","eng_exp":"And thus, in public ways, perturbed will rove"}

下面是我的一段java代码:

String results = "";
        Random random = new Random();
        SendMessage message = new SendMessage();
        String apiUrl = "https://api-thirukkural.vercel.app/api?num=" + random.nextInt(1329 + 1);
        try {
            URL url = new URL(apiUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            Scanner sc = new Scanner(url.openStream());
            while (sc.hasNext()) {
                results += sc.nextLine();
            }
            sc.close();
            JSONArray jsonArray = new JSONArray("[" + results + "]");
            JSONObject object = jsonArray.getJSONObject(0);
            message.setChatId(update.getMessage().getChatId().toString());
            message.setText("Number: " + object.getInt("number") + "\n\n" + object.getString("line1") + "\n"
                    + object.getString("line2") + "\n\n" + object.getString("tam_exp") + "\n\n" + object.getString("eng_exp"));
            conn.disconnect();
            execute(message);
        } catch (Exception e) {
            e.printStackTrace();
        }

电报中的结果:

Number: 1139

அறிகிலார� எல�லார�ம� என�றேஎன� காமம�
மற�கின� மற�க�ம� மர�ண�ட�.

என�னைத� தவிர யார�ம� அறியவில�லை என�பதற�காக என� காதல� தெர�வில� பரவி மயங�கித� திரிகின�றத� போல�ம�!

And thus, in public ways, perturbed will rove

这是gson依赖中的问题吗?有人能帮我解决这个问题吗?谢谢。

bq8i3lrv

bq8i3lrv1#

您需要指定扫描器上的字符集。这可能就是问题所在。
示例:

new Scanner(url.openStream(), StandardCharsets.UTF_8.name());

您应该使用适合的字符集。

相关问题