Avatar billede janegil Nybegynder
12. august 2003 - 13:20 Der er 12 kommentarer og
1 løsning

Å endre fra windows-1252 til iso-8859-1

opencms.org installasjonen ber meg skifte fra windows-1252 til iso-8859-1.

Jeg prøver

C:\>java -D file.encoding=iso-8859-1
Exception in thread "main" java.lang.NoClassDefFoundError: file/encoding=iso-8859-1

C:\>java -version
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)

Hva går galt her? Meldingen fra opencms:

Change the encoding of your Java VM. To do that you must modify the file.encoding setting. Using Apache Tomcat, a different encoding can be set in the environment variable CATALINA_OPTS by the -D parameter e.g.:
CATALINA_OPTS=-Dfile.encoding=ISO-8859-1
Avatar billede arne_v Ekspert
12. august 2003 - 13:30 #1
java -Dfile.encoding=iso-8859-1

uden mellemrum "virker" (der mangler stadig en klasse som argument).

Men du skal vel bare sætte envirobment variablen:

CATALINA_OPTS=-Dfile.encoding=ISO-8859-1

inden du starter Tomcat for at få den effekt du ønsker !
Avatar billede janegil Nybegynder
12. august 2003 - 14:02 #2
java -Dfile.encoding=iso-8859-1
gir meg bare help-teksten "Usage:..."
Avatar billede arne_v Ekspert
12. august 2003 - 14:05 #3
Ja - fordi du angiver ikke nogen klasse.

Der er:

java -Dfile.encoding=iso-8859-1 <klasse navn>

Men du bruger jo Tomcat.

Derfor skal du bare definere den environment variabel, så skal
Tomcats startup.bat og catalina.bat nok få lavet den java kommando rigtigt.
Avatar billede janegil Nybegynder
12. august 2003 - 15:55 #4
OpenCMS setup foreslår:
CATALINA_OPTS=-Dfile.encoding=ISO-8859-1
Det må betyr at verdien av
CATALINA_OPTS
skal være
-Dfile.encoding=ISO-8859-1
?

Men det har ingen effekt, fortsatt samme feilmelding.
For det er vel nok å stoppe Tomcat-service etter hver endring av CATALINA_OPTS, eller skal Windows også gjenstartes?
Avatar billede arne_v Ekspert
12. august 2003 - 15:57 #5
Det afhænger lidt af Windows version og hvordan du starter Tomcat.

Prøv og åbn en DOS box.

Og check CATALINA_OPTS med:

set CATALINA_OPTS

og så start Tomcat i samme DOS box.
Avatar billede janegil Nybegynder
12. august 2003 - 16:06 #6
C:\>set CATALINA_OPTS
CATALINA_OPTS=-Dfile.encoding=ISO-8859-1

starter tomcat derfra, og opencms slager fortsatt på at det er feil codepage.

Noe som også bekymrer meg, er at det ikke ser ut til å ha noen betydning om jeg fjerner JAVA_HOME.
Avatar billede arne_v Ekspert
12. august 2003 - 16:15 #7
Prøv lige i samme DOS box med og start med:

catalina run

i.s.f. startup (den start Tomcat i en seperat process).
Avatar billede janegil Nybegynder
12. august 2003 - 17:23 #8
/index.jsp ser ut til å bruke ISO-8859-1 i både http-header og meta-element, også om jeg setter CATALINA_OPTS til å bruke UTF-8.

Men OpenCMS kalger, selv om jeg er ute av stand til å konfigurere noe annet tegnsett enn detden sier den vil ha.

OpenCMS mangler visst et diskusjonsforum. Det kan visst være grunn nok til å velge noe annet. (Alkacon Software skal jo ha noen konsulenttimer å leve av.)
Avatar billede janegil Nybegynder
13. august 2003 - 11:05 #9
Tror nok problemet mitt er i Tomcat, ikke i OpenCMS. For selv om jeg setter
CATALINA_OPTS=-Dfile.encoding=UTF-8
så setter Tomcat
Content-Type: text/html;charset=ISO-8859-1
i HTTP, samtidig som den forherdet sender filene byte for byte ut til browseren, enten det er eurotegnet (128) som er udefinert i ISO-8859-1, eller UTF-8.
Avatar billede janegil Nybegynder
13. august 2003 - 11:46 #10
Quick-fix så langt: Satte
#defaultContentEncoding=ISO-8859-1
defaultContentEncoding=Cp1252
i C:\Program Files\Apache Group\Tomcat 4.1\webapps\opencms\WEB-INF\config\opencms.properties

Ikke en løsning jeg liker, men...
Avatar billede arne_v Ekspert
13. august 2003 - 11:50 #11
Nu er jeg lost.

Cp1252 er da ISO-8859-1 ??
Avatar billede janegil Nybegynder
13. august 2003 - 12:27 #12
Det ligner, ja. På min windowsmaskin gjør hverken IE, Opera eller Mozilla forskjell på om du ber om windows-1252 eller iso-8859-1.

Men formelt sett er bytes fra 128(euro) til 159 (stor Y med to prikker over) ikke definert i ISO-8859-1.

OpenCMS har sikkert ikke problemer med selve tegnene, den stoppet nok opp ved en sammenligning mellom navn på tegnsett. (Med nok en fallgrube: Java later til å kalle windows-1252 for "Cp1252".)

http://landsbank.fo/test/bytes.cfm ser lik ut, enten du ber en windowsbrower bruke windows-1252 eller iso-8859-1. Men validering etter iso-8859-1 på http://validator.w3.org/check?uri=http%3A%2F%2Flandsbank.fo%2Ftest%2Fbytes.cfm&doctype=%28detect+automatically%29&charset=iso-8859-1+%28Western+Europe%29 forteller hvilke bytes som ikke er akseptable.

(Det later til at iso-8859-1 er en ren delmengde av windows-1252.)
Avatar billede arne_v Ekspert
13. august 2003 - 12:38 #13
Hm

Endnu en Microsoft special-standard.

ISO-8859-1 er klonet til ISO-8859-15 og der er Euro altså 164.
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