Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Java-Kódování textu

Zdravím!
Nově se učím programovat v Javě. Ze začátku jsem programoval v aplikaci NetBeans IDE, kde program po spuštění vypadal normálně a zobrazoval háčky a čárky bez jakéhokoliv problému. Poté jsem si ten samý program chtěl napsat čistě v Notepad++ (Zkoušel jsem i v klasickém poznámkovém bloku) a zkomplilovat jej přes Příkazový řádek (příkazem javac). Když se všechno úspěšně zkomplilovalo a já program spustil, zjistil jsem, že mi nepodporuje háčky a čárky. Místo toho se zobrazují různé klikiháky, jako když píšete webovou stránku a zapomenete do hlavičky určit kódování textu.

Zdrojový kód vypadá následovně:

public class Program {
	public static void main(String[] args) {
		System.out.println("poradna.net je Česko-Slovenská poradna");
	}
}
}

A program mi to vyhodí takhle:
[http://upload.immortls.eu/img/alegor/ukazka_konzol e.jpg]

Kdyby někdo znal řešení, které by dokázalo tuhle chybu opravit tak, aby to na všech systémech diakritiku ukazovalo (Ne aby se mi jen přenastavila Java (popř. Konzole) na jiné formátování, ale aby uživatel jednoduše program spustil a šlo to), napište prosím.

Předem děkuji za odpovědi. :-)

Předmět Autor Datum
A mas v tom notepadu UTF-8? Si to hod do PsPadu, tam hned vidis v jakym to mas kodovani.
RedMaX 18.04.2013 22:31
RedMaX
Zdá sa, že funguje spustenie s parametrom -Dfile.encoding=cp852, ale bude to fungovať asi len niekde…
x22 18.04.2013 22:35
x22
Doporučuji psát zdrojáky v UTF-8, nyní už je to všude rozšířené a téměř vše má podporu. V eclipsu se…
freez2 19.04.2013 00:19
freez2
Co se týče nastavení programů, které nepodporují Unicode, tam mám lokaci na Českou republiku a Notep… poslední
Alegor 19.04.2013 15:14
Alegor

Zdá sa, že funguje spustenie s parametrom -Dfile.encoding=cp852, ale bude to fungovať asi len niekde.
(Ten debilný cmd.exe používa ešte staré DOSovské kódovanie!!!)

Alebo pred spustením dať chcp 1250 a nechať Javu používať toto kódovanie (je to default, ak je Windows nastavený na slovenčinu alebo češtinu).

Najlepšie je asi nepokúšať sa vypisovať takéto znaky na bežnú Windows konzolu.

(Samozrejme je nutné kompilovať v tom kódovaní, v ktorom je zdrojový súbor napísaný, prípadne používať escape sekvencie \uabcd alebo \xyz.)

Doporučuji psát zdrojáky v UTF-8, nyní už je to všude rozšířené a téměř vše má podporu. V eclipsu se nastaví v nastavení projektu UTF-8 a pohoda. V netbeanech to půjde určitě také, možná je to tam default, nevím. V notepadu by mělo stačit uložit zdroják s UTF-8 kódováním.

To, že to v cmd ukazuje špatně háčky je tím, že cmd je defaultně (proč??) nastavení v nějakém prehistorickém kódování...Nejlepší je si ho přepnout na UTF-8, například jako tady.

Co se týče nastavení programů, které nepodporují Unicode, tam mám lokaci na Českou republiku a Notepad++ formátuje text na UTF-8 (Odzkoušeno i v PS Padu se stejným výsledkem). Ono to nedělá jen u konzole, ale i když importuji knihovnu Swing a používám okno JFrame. Takže to dělá i u okenních aplikací. I když to nepovažuji za takovou záhadu, jelikož v tomto případě program NENÍ okno, ale program MÁ okno. Ale co mne zajímá asi úplně nejvíc...U Linoxových distribucí to bude běžet v pořádku?

Zpět do poradny Odpovědět na původní otázku Nahoru