Avatar billede roo104 Nybegynder
29. september 2004 - 18:18 Der er 15 kommentarer og
1 løsning

Tomcat og filer med danske tegn

Hvis jeg lave et simpelt html link <a href='æøå.txt'>æøå.txt</a> kan brugeren ikke downloade filen.
Min ContentType ser sådan her ud:
<%@contentType="text/html; charset=iso-8859-1" %>
Hvad kan man gøre for at få Tomcat til at acceptere filer med æøå ?
Avatar billede arne_v Ekspert
29. september 2004 - 18:40 #1
Prøv med:

URLEncoder.encode("æøå.txt");
Avatar billede arne_v Ekspert
29. september 2004 - 18:42 #2
Eller:

URLEncoder.encode("æøå.txt", "ISO-8859-1")

URLEncoder.encode("æøå.txt", "UTF-8")
Avatar billede roo104 Nybegynder
29. september 2004 - 19:08 #3
URLEncoder.encode("æøå.txt", "ISO-8859-1") og URLEncoder.encode("æøå.txt"); virker bortset fra at når jeg vil gemme filen foreslår den filnavnet [1].txt istedet for æøå.txt
Er der en måde man kan få den til at gemme med det originale filnavn ?
Avatar billede roo104 Nybegynder
29. september 2004 - 19:13 #4
Et andet problem bliver så filer med mellemrum, da det bliver til + og ikke %20
Avatar billede arne_v Ekspert
29. september 2004 - 19:17 #5
Umiddelbart vil jeg mene at det er et browser problem og ikke et
server side problem. Står URL'en ikke rigtigt i adresse linien ?
Avatar billede arne_v Ekspert
29. september 2004 - 19:19 #6
+ versus %20 må kunne klares men en passende replaceAllpå strengen.

Ikke så kønt, men i en snæver vending.
Avatar billede roo104 Nybegynder
29. september 2004 - 19:20 #7
URLEncoder.encode("æøå.txt", "ISO-8859-1") vises som %E6%F8%E5.txt i adresse linjen og den vil også gerne gemme filen, men foreslår altid [1].txt som filnavn. plus at filer med mellemrun slet ikke virker.
Avatar billede roo104 Nybegynder
29. september 2004 - 19:27 #8
har prøvet URLEncoder.encode("æøå æøå.txt").replaceAll("+","%20") men den kaster exception java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
Hvis jeg replacer replaceAll(" ","%20") inden URLEncoder, encoderden den % tegnet :(
Avatar billede roo104 Nybegynder
29. september 2004 - 19:29 #9
"+" skal selvfølgelig være "\\+"
Avatar billede arne_v Ekspert
29. september 2004 - 19:29 #10
Prøv:

URLEncoder.encode("æøå æøå.txt").replaceAll("\\+","%20")
Avatar billede roo104 Nybegynder
29. september 2004 - 19:31 #11
jeg kunne replace æøå med &AElig;d, s&oslash; & l&aring; som en nødløsning
Avatar billede arne_v Ekspert
29. september 2004 - 19:33 #12
Det mener jeg ikke er valid URL (det er valid HTML)
Avatar billede roo104 Nybegynder
30. september 2004 - 17:12 #13
Æv bæv, fandt aldrig nogen rigtig god løsning.
Jeg kan se at der er andre der har haft samme problem med Tomcat og æøå, men heller ikke de fandt noget svar :(
Så desværre ingen point denne gang Arne, da jeg stadig ikke har fundet en brugbar løsning.
Avatar billede arne_v Ekspert
30. september 2004 - 17:15 #14
Er der nogen gode løsninger i PHP/ASP/ASP.NET ?
Avatar billede roo104 Nybegynder
30. september 2004 - 17:50 #15
Serveren kører windows 2003 og jeg kan sagtens downloade filer med æøå, unden problemer når jeg bruger IIS 6.0, så det tyder meget på at det er Tomcat der har et problem med æøå.
Avatar billede roo104 Nybegynder
30. september 2004 - 17:53 #16
hvis jeg laver en statisk html side med <a href='æøå.txt'>æøå.txt</a> i, virker den med IIS men ikke med Tomcat.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester