danske special tegn i java (console)
Heyet lille hurtigt spm. mere
I dette her irc-bot som jeg har gang i, der sker det underligt at når jeg bruger f.eks. æ så bliver det til `
hvorfor aner jeg ikke, men der må væren en alle anden løsning på det.
[souce]
/**
IRC-bot v.1
@author: Claus Jørgensen
@date 30.10.04
Kommandoliste:
!uptime , viser bottens egen uptime
*/
import java.io.*;
import java.net.*;
import java.util.Date;
import java.text.DateFormat;
import java.sql.*;
public class ircbot {
public static void main(String[] args) throws Exception {
// Laver sockets og buffers
Socket ircSocket = null;
PrintWriter out = null;
BufferedReader in = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Variabler
System.out.print("Indtast server: \n");
String IRCserver = br.readLine(); // IP'en til serveren
System.out.print("Indtast port: \n");
int IRCport = Integer.parseInt(br.readLine()); // Porten til IRC-serveren
String RealName = "Teh 1337 Java-Bot, by TheDeathArt"; // Beskrivelse af botten
System.out.print("Indtast botnick: \n");
String IRCnick = br.readLine(); // Bottens nick
System.out.print("Indtast channel: \n");
String IRCchannel = br.readLine(); // Den channel botten skal joine
String line;
// Laver en starttid til !uptime funktionen
long starttime = System.currentTimeMillis();
// Åbner en socket til irc netværket
try {
ircSocket = new Socket(IRCserver , IRCport);
out = new PrintWriter(ircSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(ircSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Kunne ikke finde: " + IRCserver);
System.exit(1);
}
while((line = in.readLine()) != null) { // Så længe at der ikke kommer null, så vil vi udskrive teksten.
System.out.println(line); // Udskriver Teksten !
// Registerer botten med netværket
if(line.indexOf("No ident respons") > 0)
{
out.println("USER " + IRCnick + " none none : " + RealName );
out.println();
out.println("NICK " + IRCnick);
out.println();
}
// Joiner en channel når MOTD er færdig
if(line.indexOf("End of /MOTD command.") > 0)
{
out.println("JOIN " + IRCchannel);
out.println();
out.println("PRIVMSG " + IRCchannel + " : Hi, im a Java-IRC bot created by TheDeathArt.");
}
/* Ping-Pong servicen, sørger for at holde botten online */
if(line.startsWith("PING"))
{
out.println("PONG " + line.substring(5));
System.out.println("Ping? Pong!");
}
/* checker for !uptime */
if(line.indexOf("!uptime") > 0)
{
long uptime = (System.currentTimeMillis() - starttime) / 1000;
out.println("PRIVMSG " + IRCchannel + " : Min Uptime er " + uptime + " sek. ");
}
/* sætter topic */
if(line.indexOf("!topic") > 0)
{
int topicpos = line.indexOf("!topic") + 7;
String newtopic = line.substring(topicpos);
out.println("TOPIC " + IRCchannel + " :" + newtopic);
}
/* viser hvad klokken er */
if(line.indexOf("!time") > 0)
{
Date now = new Date();
DateFormat nowTime = DateFormat.getTimeInstance();
out.println("PRIVMSG " + IRCchannel + " : " + nowTime.format(now));
}
/* siger det som står efter !say */
if(line.indexOf("!say") > 0)
{
int msgpos = line.indexOf("!say") + 5;
String newmsg = line.substring(msgpos);
out.println("PRIVMSG " + IRCchannel + " :" + newmsg);
}
/* lukker botten */
if(line.indexOf("!quit") > 0)
{
out.println("QUIT : Farvel, og tak for denne gang");
out.close();
in.close();
ircSocket.close();
System.exit(0);
}
if(line.indexOf("!auth") > 0)
{
out.println("PRIVMSG @CServe.quakenet.org :auth thedeathart sf2yq3in");
}
}
// Lukker sockets igen.
out.close();
in.close();
ircSocket.close();
}
}
[/souce]
