15. maj 2003 - 08:52Der er
31 kommentarer og 1 løsning
Specielle tegn
Jeg har en ny-installeret linux-server (Redhat 8.0) kørende med Resin 2.1.8 og java 1.3.1_8. Når jeg via http hitter en jsp-side bliver alle danske tegn oversat til noget snask.
Følgende meta ligger i jsp-siden : <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
I resin.conf har jeg smidt følgende: <web-app character-encoding='ISO_8859-9'></web-app>
Er der nogen der har nogle gode ideer eller en løsning? Jeg har søgt lidt rundt omkring på nettet og fundet nogle der havde tilsvarende problemer, bare med franske tegn
Arne v -> Jamen det er jo lige det jeg ikke har forstand på :) Jeg har lagt kommandoen httpd.sh start i rc.local. Hvor skal jeg så lægge Dfile.encoding=ISO-8859-1 ??
I httpd.sh som ligger i Resin's bin directory (muligvis den samme som du har kopieret til rd.local er der følgende (i version 2.1.9):
# Extra arguments to Java. If you're passing arguments to the JVM, you'll # need to use -Jxxx. For example, args="-J-ms48m". You can modify # the pid file with args="-pid server-a.pid" # args=
Jeg har prøvet om jeg kunne genskabe det på min Linux box, men selvfølgelig ikke (Redhat 7.2, Java SDK 1.3.1_01, Resin 2.1.9).
Men det kan der være mange grunde til.
Det må imidelrtid kunne løses. Der er stort set kun 2 mulige grunde til problemet: - der sendes UTF-8 labelet som ISO-8859-1 - der sendes ISO-8859-1 labelet som UTF-8
Ideer til at komme videre:
1)
Prøv og lav en JSP side med:
<%=System.getProperty("file.encoding")%>
og fortæl hvad den viser.
2)
Prøv og lav en JSP side med kun en linie med:
ÆØÅæøå
og fortæl hvor stor filen er (som vist i ls -l) og præcis hvordan tegnene ser ud i browseren.
Det var en tyrk fejl at der stod <web-app character-encoding='ISO_8859-9'></web-app> istedet for <web-app character-encoding='ISO-8859-1'> ... Det er nu rettet og ved en <%=System.getProperty("file.encoding")%> giver den resultatet -> ISO-8859-1
Jeg har lavet en fil med følgende tegn: ÆØÅæøå i ren html, det virker, så forsøgte jeg at tilføje linien: <%out.println("æøååæøÆÅØ");%> og det gik helt galt. Så for jeg følgende ÆØÅæøå ??
Jeg nedgraderede fra 1.4.1_02 da problematikken var den samme. Jeg havde også selv tænkt på ampsan løsningen, men det kan desværre umiddelbart bruges, så jeg er på ret bar bund
Jeg fik jo følgende fejl java.io.CharConversionException: illegal utf8 encoding ved at bruge <%@page language="java" session="true" contentType="text/html;charset=UTF-8"%>
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.