кодировка символов pricbotx

У меня есть экземпляр класса pricbotx, который подключается к irc-серверу и прослушивает сообщения. Я написал код для перехвата сообщений, которые являются ссылками, и ответа бота с заголовком с этого URL-адреса. Но у меня есть некоторые проблемы с кодирование.Когда я отправляю на канал URL-адрес с заголовком на греческом языке, он отвечает такими неизвестными символами, как эти

±Ξ "Ο?Ο?Ξ?ΞΉΟ? Ξ?ΞΟ?ΞΏΞ½Ο?.

Сервер, который подключает бота, имеет кодировку UTF-8. В той же конфигурации есть бот. Почему это происходит и какие изменения мне нужно сделать в коде?

import java.net.URL;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
import org.pircbotx.Channel;
import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;
import org.pircbotx.exception.DaoException;
import org.pircbotx.exception.IrcException;
import org.pircbotx.hooks.ListenerAdapter;
import org.pircbotx.hooks.events.ConnectEvent;
import org.pircbotx.hooks.events.ModeEvent;
import org.pircbotx.hooks.types.GenericMessageEvent;
import java.net.URLConnection;
import java.nio.charset.Charset;

public class setTitle extends ListenerAdapter {

static Charset myChar = Charset.forName("UTF-8");

public setTitle() {

}

@Override
public void onGenericMessage(GenericMessageEvent event) {

    InputStream response = null;
    if ((event.getMessage().startsWith("http://") || (event.getMessage().startsWith("https://")))) {
        try {
            URL myUrl = new URL(event.getMessage());
            response = new URL(String.valueOf(myUrl).toString()).openStream();
            Scanner scanner = new Scanner(response);
            String responseBody = scanner.useDelimiter("\\A").next();
            String title = responseBody.substring(responseBody.indexOf("<title>") + 7, responseBody.indexOf("</title>"));
            event.respondWith(title);
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            try {
                response.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
          }
        }
      } 

public static void main(String[] args) throws Exception {
    //Configure what we want our bot to do
    Configuration configuration = new Configuration.Builder()
            .setName("myname")
            .addServer("myserver") 
            .setNickservPassword("mypassword")
            .addAutoJoinChannel("#mychannel") 
            .addListener(new setTitle())//Add our listener that will be called on Events
            .setEncoding(myChar) 
            .buildConfiguration();
    try {
        PircBotX bot = new PircBotX(configuration);
        bot.startBot();
    }catch (DaoException | IOException | IrcException ex) {
        ex.printStackTrace();
    }

}

}

0 ответов

Другие вопросы по тегам