Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: JavaFX - Problém s kódováním

Aktivity
Avatar
Navry
Člen
Avatar
Navry:24.10.2019 13:50

Špatné kódování v JavaFX aplikaci

Zkusil jsem: Založil jsem si nový projekt a vytvořil programově jednoduchý layout jen pro otestování a české znaky se po spuštění aplikace nezobrazí správně. Např:

Button exitButton = new Button("Ukončit Aplikaci");

se zobrazí jako: UkonÄŤit Aplikaci

Používám následující:
SDK: JDK 1.8
IDE: IntelliJ IDEA Ultimate 2019.2.3
Build: Gradle 5.2.1

V Idei mě to ukazuje File Encoding: UTF-8

Nevíte v čem je problém prosím?

 
Odpovědět
24.10.2019 13:50
Avatar
Navry
Člen
Avatar
Navry:24.10.2019 13:54

S tímto "trikem" se to zobrazuje správně, ale to je nesmysl to takhle používat...

String s = new String("Ukončit Aplikaci".getBytes(), StandardCharsets.UTF_8);
Button exitButton = new Button(s)
 
Nahoru Odpovědět
24.10.2019 13:54
Avatar
Navry
Člen
Avatar
Navry:24.10.2019 13:57

Je problém v Javě, Idei nebo Gradlu(nějaká konfigurace)?

 
Nahoru Odpovědět
24.10.2019 13:57
Avatar
Robert Michalovič:25.10.2019 6:27

Čím více různých technologií používáš(propo­juješ) tím více vzrůstá počet proměnných kde mohou být problémy.

  1. Co kompilace přes příkazový řádek a spuštění tvého projektu ?
  2. Zkus vypsat daný string přes System.out.println přes příkazový řádek a taky Swing?
  3. Co výpis konzolový , Swingový a JavaFX v Ideii ?

V EclipseIDE lze nastavit jakou znakovou sadu má IDE používat. Pravděpodobně to lze v Ideii.
Grandle by asi na to neměl mít vliv, ale to nevím jistě protože buildovací nástroje nepoužívám.

 
Nahoru Odpovědět
25.10.2019 6:27
Avatar
Odpovídá na Navry
Petr Štechmüller:25.10.2019 9:30

Ahoj, napadá mě ještě nastavení Locales v Javě:

// Tohle ti vypíše veškeré dostupné locales, které máš v Javě
System.out.println(Arrays.toString(Locale.getAvailableLocales()));
// Tímto řádkem nastavíš češtinu...
Locale.setDefault(Locale.forLanguageTag("cs_CZ"));
Nahoru Odpovědět
25.10.2019 9:30
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.