Java JDK 7 unter 10.7.x hat falsche Codepage (FileEncoding)

derrichter

derrichter

Mitglied
Thread Starter
Dabei seit
23.04.2008
Beiträge
45
Reaktionspunkte
0
Hallo Leute,

wie kann ich die von der Java-Umgebung (JDK unter /Library/Java/JavaVirtualMachines) unter Mac OS X 10.7.5 verwendete Codepage (Charset, FileEncoding, Lang) umstellen?
Heruntergeladen wurde diese von hier: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html als eben JDK, da die JRE nicht unter dem Pfad /Library/Java/JavaVirtualMachines als System-Javaumgebung installiert wird sondern anscheinend nur als Internet-PlugIn unter /Library/Internet Plug-Ins.
Gibt es vielleicht doch irgendwo eine Deutsche Version?


Bei dem Java-Programm wurde mit der Version 6 ganz ordentlich die System-Codepage "MacRoman" verwendet und alle Umlaute wurden richtig verarbeitet.
Code:
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] Built-Date : 20121201
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   Buildnumber: 437
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   max. memory: 252mb
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [B]sys charset: MacRoman[/B]
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] command line parameters
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [-o]
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [-psn_0_499834]
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.arch          : x86_64
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.name          : Mac OS X
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.version       : 10.7.5
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.version     : 1.6.0_65
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.vendor      : Apple Inc.
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.runtime.name: Java(TM) SE Runtime Environment
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.vm.name     : Java HotSpot(TM) 64-Bit Server VM
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] user.name        : derRichter
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] user.home        : /Users/derRichter
[Thu Nov 28 19:07:59 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] [B]file.encoding    : MacRoman[/B]



Nun da ich auch speziellen Gründen Java 7 benötige habe ich diese wie oben angegeben installiert. Nun wird aber immer als Standard die Codepage US-ASCII verwendet?! und nun werden Umlaute nur noch mit Sonderzeichen dargestellt, was in diesem Programm für mich nun eine kleine Katastrophe ist …
Code:
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   Built-Date : 20121201
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   Buildnumber: 437
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   max. memory: 227mb
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [B]sys charset: US-ASCII[/B]
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] command line parameters
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [-o]
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init]   [-psn_0_2937549]
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.arch          : x86_64
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.name          : Mac OS X
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] os.version       : 10.7.5
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.version     : 1.7.0_45
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.vendor      : Oracle Corporation
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.runtime.name: Java(TM) SE Runtime Environment
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] java.vm.name     : Java HotSpot(TM) 64-Bit Server VM
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] user.name        : derRichter
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] user.home        : /Users/derRichter
[Sat Dec 07 12:07:05 CET 2013][INFO][de.willuhn.jameica.services.SysinfoService.init] [B]file.encoding    : US-ASCII[/B]


Wie und Wo kann ich im System dies wieder auf MacRoman umstellen?
Eine Mitgabe einer Option über die Kommandozeile ist keine Option! da dies fest umgestellt werden soll damit es immer bei jedem Programm so ist.


Bitte um eure Hilfe …

Gruß
 
das könnte schwierig werden, weil es da keine direkte system weite option für gibt.
ist das ein jar file? oder eine app?
 
dass habe ich bisher nach meiner stundenlangen Google-Suche vor diesem Beitrag hier ja auch schon gefürchtet, da stellt sich mir aber dennoch die Frage wo diese Konfiguration oder Einstellung gespeichert wird, muss doch irgendwo so eingestellt sein?

Es ist eine App, aber der das direkt mitzugeben ist für mich eigentlich keinen Lösung da dass dann jeder User bei sich (und für Dau-User zu kompliziert) mitgeben müsste und dass nach jedem Update wieder neu …
 
normal hat so eine app eine plist in dem app paketinhalt wo man das setzen kann...
ein start script ist auch eine option für die app.
wurde die app noch mit dem jar bundler erstellt?
dann nutzt die doch eh noch das apple java anstelle des oracle 1.7 ...

sonst hast noch bis 10.7 die möglichkeit eine environment.plist im user home anzulegen, wo man dann die werte für apps setzt.
ab 10.8 muss man wohl eine launchd.conf anlegen.
 
also soweit hat mir bis jetzt nichts systemweit geholfen …

natürlich könnte man bei der APP in der start.sh ein -Dfile.encoding=MacRoman einfügen
oder man startet immer ein Terminal mit "export JAVA_TOOL_OPTIONS=-Dfile.encoding=MacRoman" starten.
Doch dass ist eben für normal-Anwender keine Lösung und wenn dann ja auch nur an dieser Stelle …

Ein
"launchctl setenv file.encoding MacRoman"
wie von McNuppy vorgeschlagen macht bei mir komischerweise gar keinen Unterschied, auch nicht mit sudo
oder schreib ich da mal wieder falsch?

danke

gruß
 
wenn musst du schon
launchctl setenv JAVA_TOOL_OPTIONS=-Dfile.encoding=MacRoman
 
danke für deine Antwort aber dass klappt leider auch nicht, denn:
dann kommt natürlich erstmal ein: launchctl usage: setenv <key> <value>

also anders aber dass klappt alles nicht: mit oder ohne sudo
launchctl setenv JAVA_TOOL_OPTIONS -Dfile.encoding=MacRoman
launchctl setenv JAVA_TOOL_OPTIONS=-Dfile.encoding MacRoman

oder ich stell mich einfach zu doof an …
 
wird wohl diese form haben:
launchctl setenv JAVA_TOOL_OPTIONS "-Dfile.encoding=MacRoman"

einen reboot wird es wohl auch nicht überstehen, musst du also wohl in
$HOME/.launchd.conf oder /etc/launchd.conf schreiben (nur das setenv ohne launchctl)...
 
danke dir mal wieder oneOeight,

mit der /etc/launchd.conf hast nun geklappt, hatte natürlich immer nen Neustart gemacht, denn darum ginge mir ja ;)
(komischerweise Stand da schon einer der Fehlerhaften Beispiele drin, kann mich aber nicht erinnern da was direkt reingeschrieben zu haben ^^)
 
Zurück
Oben Unten