Javan SDK:n päivityksen myötä kaikki meni sekaisin.
Ympäristömuuttujat ilmeisesti sekosivat, kun java ei enää pysty käyttämään Cp865 charsettiä (ms-dos pohjoismaat).
Tästä seuraa virheilmoitus:
virhe luettaessa = java.io.UnsupportedEncodingException: Cp865
Aikaisemmin kaikki toimi varsin mainiosti.
Käyttis on wintoosa 2000 ja systeemimuuttujat on asetettu seuraavasti:
JAVA_HOME: C:\j2sdk1.4.2_08
CLASSPATH: C:\j2sdk1.4.2_08\jre\lib
Path: C:\j2sdk1.4.2_08\bin
Jos joku osaisi keksiä mikä tässä nyt taas mättää.
Ongelma on todennäköisesti että tuo java lähtee hakemaan nyt tietoja jostain toisesta jre:stä, kun koneeseen oli asennettu myös yhdessä vaiheessa toinen jre.
Eli minulla on ohjelma joka kääntää dos charsetin windowsiin sekä toisinpäin.
Testasin perusenkoodauksilla (Basic Encoding Set (contained in lib/rt.jar) ), jotka toimivat kyllä.
cp865 joka ei toimi sijaitsee taas näissä:
Extended Encoding Set (contained in lib/charsets.jar)
Supported by java.io and java.lang APIs
Korjausehdotuksia otetaan vastaan :)
--edit--
Hieman päivitystä vielä:
Eli ongelma on nyt paikannettu wintoosan control paneelissa sijaitsevaan java objektiin.
Se osoittaa JRE 1.5:een joka ei sisällä tuota kyseistä tiedostoa ja kysymys kuuluisikin nyt: "Miten tuosta paneelista saa valittua System välilehdelle uuden, itselläni näyttää vain sitä 1.5:sta vaikka olen lisännyt tuon 1.4.2_08 kohdassa:
Java Application Runtime Settings --> View --> User
System kohdassa en pääse edes poistamaan tuota 1.5:sta...
Pitkän taistelun ja googlauksen jälkeen ongelman ratkaisu löytyi tästä:
http://java.sun.com/j2se/1.5.0/docs/guide/
Aihe on jo aika vanha, joten et voi enää vastata siihen.