Konsola cmd i znaki diakrytyczne

2016-09-08 17:11
0

Witam państwa serdecznie. Mój problem polega na tym że po odpaleniu konsoli cmd mogę używać polskich znaków takich jak "ó, ż, itp" jednakże problem zaczyna się gdy próbuję aktywować plik z kodem komendą "java". Gdy to następuje wszelka polszczyzna przestaje istnieć. Jako że zaczynam mogłem źle sformować problem ale mam nadzieję że mi to wybaczycie. Czy mogę liczyć na fachową pomoc?

Edit: Używając komendy "chcp 65001" znaki diakrytyczne pojawiają się jednakże po ponownym uruchomieniu konsoli znowu jest tak samo. Czy da się jakoś tą komendę wprowadzić na stałe?

edytowany 1x, ostatnio: Pan Stanisław, 2016-09-08 18:23
PS: To nie są "polskie znaki", a "znaki diakrytyczne" - litery od a do z też są polskie; - furious programming 2016-09-08 17:26
@furious programming: znaki diakrytyczne w ścisłym znaczeniu to same kreseczki i ogonki, a nie diakrytyzowane nimi litery. - Azarien 2016-09-09 19:31
@Azarien - toż właśnie samych kreseczek ogonków na ekranie brakuje ;) - furious programming 2016-09-09 19:32
@furious programming, wcale nie brakuje kreseczek i ogonków. One są, tylko w niewłaściwych miejscach. - bogdans 2016-09-09 22:50
Przepraszam za wolną reakcję ale wyjechałem z domu. Sytuacja wygląda tak że zamiast "ą" jest A z dwoma kropkami albo zamiast "ż" powstają dwa L, a nad każdym z nich jest kreska. Oczywiście też komenda chcp 65001 naprawia wszystko. Tutaj rodzi się pytania czy mogę ją jakoś przypisać żeby wpisywała się sama za każdym odpaleniem konsoli? - Pan Stanisław 2016-09-13 09:40

Pozostało 580 znaków

2016-09-09 18:49
0

Możesz zmienić ustawienia konsoli na stałe, odpowiedni wpis w Rejestrze: http://superuser.com/a/482117

Pozostało 580 znaków

2016-09-09 19:11
1

Bez grzebania w rejestrze też się da http://java.zacheusz.eu/polskie-znaczki-na-java-console/15/ Opisane w artykule rozwiązanie ma tę zaletę, że program wyświetli poprawnie polskie litery na wszystkich komputerach.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans, 2016-09-09 22:46

Pozostało 580 znaków

2016-09-13 10:06
0
Pan Stanisław napisał(a)

Sytuacja wygląda tak że zamiast "ą" jest A z dwoma kropkami

dwiema kropkami to raz, odpowiadaj w poście a nie komentarzu to dwa, i czy użyłeś sposobu z cp852 do którego bogdans dał linka to trzy.

Pozostało 580 znaków

2016-09-13 10:23
0

@Azarien, mi chodziło głównie o drugi sposób z linku

System.setOut(new PrintStream (new FileOutputStream(java.io.FileDescriptor.out), true, "Cp852"));

Trzeba jeszcze uwzględnić, w jaki formacie zapisany jest plik źródłowy i jak był kompilowany javac -encoding ??? NazwaPliku.
@Pan Stanisław opisane objawy sugerują, że plik źródłowy jest w formacie utf-8. Kompiluj tak: javac -encoding utf-8 NazwaKlasy.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans, 2016-09-13 10:34
Pokaż pozostałe 9 komentarzy
@woolfik, wierzę Ci na słowo. Nie mam żadnego konsolowego programu napisanego w Delhi, i nie mam narzędzi by takowy stworzyć. - bogdans 2016-09-14 09:12
@bogdans jak chcesz to podeślę ci prostego exe konsolowego do sprawdzenia - woolfik 2016-09-14 09:35
@woolfik, chętnie potestuję.;) Wysłałem Ci swój adres, bo poczta forumowa nie dopuszcza załączników. - bogdans 2016-09-14 09:48
Pliki zapisuję normalnie nazwapilku.java, a kompiluje jest po prostu komendą javac. - Pan Stanisław 2016-09-14 15:05
@Pan Stanisław, używany przez Ciebie edytor zapisuje polskie litery w jakimś formacie. Może to być format domyślny dla tego edytora, może być format, który w dawno zapomnianych czasach wybrałeś. - bogdans 2016-09-14 16:54

Pozostało 580 znaków

2016-09-14 08:53
0

Ze specjalną dedykacją dla @Azarien'a
chcp.png

  • chcp.png (0,02 MB) - ściągnięć: 61

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 3x, ostatnio: bogdans, 2016-09-14 09:03

Pozostało 580 znaków

2016-09-14 09:10
0

@bogdans

  1. musisz mieć w konsoli czcionkę TrueType. Bitmapowe nie obsługują prawidłowo stron kodowych.
  2. 65001 nie będzie działać.

Pozostało 580 znaków

2016-09-14 09:43
0
  1. Dla czcionki TrueType to i w Javie dobrze wyświetla (z wyjątkiem 28592, błędnie wyświetlane są litery ą,ś,ź).
  2. U mnie (Lucida Console) program w C# wyświetla poprawnie również dla 65001 - ja plik źródłowy zapisałem w formacie utf-8.

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
1. ograniczenie windowsa niezależne od aplikacji. - Azarien 2016-09-14 09:53

Pozostało 580 znaków

2016-09-14 15:11
0

No więc tak:

Pliki zapisuję w sposób "nazwaPliku.java i kompiluje je komendą "javac"
Nie użyłem sposobu @bogdans ponieważ nie rozumiem jak go zastosować.

Pozostało 580 znaków

2016-09-14 16:07
0
  1. Jakim programem tworzysz i zapisujesz pliki źródłowe? A dokładnie jaki jest format polskich liter w pliku?
  2. import java.io.*;
    public class BleBle
    {
    public static void main(String[] args)
    {
        try
        {
            System.setOut(new PrintStream (new FileOutputStream(java.io.FileDescriptor.out), true, "Cp852"));
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
        //dalszy ciąg programu

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans, 2016-09-14 16:09

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0