AGMedlem sedan mars 20001 266 inlägg Har ett problem.
Skulle vilja göra så att följande kodsnutt fungerar som det är tänkt:
Pattern pd11= Pattern.compile("Ab");
Matcher md11 = pd11.matcher(track2);
track2 = md11.replaceAll("Å");
Men som det är nu översätts det inte riktigt, den förstår inte Å utan skriver ut det som ett kors av nåt slag :)
Antar att jag måste lägga till Latin1-supplement, men vet ej hur jag gör.
tack
Andreas
ViktorMedlem sedan aug. 20021 752 inlägg Var blir det kors istället för Å? I strängen eller vid utskriften?
/Viktor
AGMedlem sedan mars 20001 266 inlägg Skriver jag ut strängen så blir det ett kors.
Andreas
ViktorMedlem sedan aug. 20021 752 inlägg Då låter det som det vanliga DOS problemet, åäö blir alltid konstriga tecken i DOS (Å blir ett kors) eftersom Java använder Unicode för sina tecken.
Jag vet tyvärr inte hur du ska fixa det dock, men det är inget fel i ditt Java program.
/Viktor
AGMedlem sedan mars 20001 266 inlägg Säker, har lagt till latin1-supplement en annan gång nämligen.
Andreas
ViktorMedlem sedan aug. 20021 752 inlägg Visst är jag säker, så säker att jag var tvungen att göra ett test program :)
public class Test
{
public static void main(String argv[])
{
System.out.println(replace());
}
private static String replace()
{
String test="Hello World Ab Ab Ab Ab";
Pattern p = Pattern.compile("Ab");
Matcher m=p.matcher(test);
return(m.replaceAll("Å"));
}
}
Resultatet i DOS blev
Hello World ┼ ┼ ┼ ┼
och resultatet i Eclipse blev
Hello World Å Å Å Å
Det är altså inget fel på koden utan på Windows, som vanligt ;)
/Viktor
spangoMedlem sedan juni 20008 205 inlägg Vill man att det ska visas läsbart i DOS-fönstret kan man göra på följande vis när man startar Java:
C:\foo\bar> java -Dfile.encoding=cp850 DinKlass
Dock måste man i sådana fall ha alla textfiler m.m. som programmet läser in DOS-kodade (eller så får man ange vilken kodning man använder när man öppnar filerna), så det suger ändå. Den mest uppenbara lösningen är förstås att gå över till en miljö där man kan använda en Riktig teckenkodning i terminalfönstren... ;) eller så står man ut med knasiga tecken.
AGMedlem sedan mars 20001 266 inlägg KOden nedan fungerar ej iaf:
// Hämta variabler
String track = request.getParameter("track");
String track2 = "";
Pattern pd11= Pattern.compile("Ab");
Matcher md11 = pd11.matcher(track);
track2 = md11.replaceAll("Å");
Pattern pd = Pattern.compile("-");
Matcher md = pd.matcher(request.getParameter("date"));
String date = md.replaceAll("");
String race = request.getParameter("race");
// Hämta data från x
getTrottingData bean = new getTrottingData();
String host = "http://www.sida.com/RServlet?datum="+ date +"&bankod="+ track2 + "&action=loppresultat&betType=VP&race="+ race;
Requesten track har värdet Ab, och därför borde track2 ha värdet Å, som sedan inkluderas i strängen host. Men det vill isg inte.
Andreas
ViktorMedlem sedan aug. 20021 752 inlägg Är det track2 som inte blir Å? Om det är så så tror jag inte att parametern track är Ab, för om den är det så fungerar det perfekt.
public class Test
{
public static void main(String argv[])
{
String track = "Ab";
String track2 = "";
Pattern pd11= Pattern.compile("Ab");
Matcher md11 = pd11.matcher(track);
track2 = md11.replaceAll("Å");
String host = "http://www.sida.com/RServlet?datum=&bankod="+ track2 + "&action=loppresultat&betType=VP&race=";
System.out.println("Host: "+host);
}
}
Utskrift
Host: http://www.sida.com/RServlet?datum=&bankod=Å&action=loppresultat&betType=VP&race=
Kör en System.out.println på parametern track och försäkradig om att den är Ab (tänk på att regex är case sensitive).
/Viktor
spangoMedlem sedan juni 20008 205 inlägg
AG skrev:
String host = "http://www.sida.com/RServlet?datum="+ date +"&bankod="+ track2 + "&action=loppresultat&betType=VP&race="+ race;
Man ska inte ha åäö i URL:er. Du får koda om eländet:
import java.net.URLEncoder;
...
String host = "http://www.sida.com/RServlet?datum="+ date +"&bankod="+ URLEncoder.encode(track2, "utf-8") + "&action=loppresultat&betType=VP&race="+ race;
AGMedlem sedan mars 20001 266 inlägg Tack, men det löste sig ändå, vet inte riktigt hur.
För er som vill testa tjänsten:
https://www.mycgiserver.com/~lair
och wap-versionen:
https://www.mycgiserver.com/~lair/wap.jsp
Datan hämtas från ATG, de har sagt ok till att återpublicera deras listor. Så sidorna är dynamiska.
Andreas