Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Java kodowanie UTF8  (Przeczytany 5176 razy)

Offline Panas

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 198
    • Zobacz profil
Java kodowanie UTF8
« dnia: 2017-12-01, 00:16:45 »
Mam problem z początkiem z java podstawy wydanie IX.
W części 2.5 powinienem odpalić obraz ale wyskakuje błąd z kodowaniem.
Jak to naprawić?
Próbowałem przez javac -encoding UTF-8 plik.java  aleto nie działa.

Cytuj
~/JavaPodstawy/t1/r02/ImageViewer$ javac ImageViewer.java
ImageViewer.java:7: error: unmappable character for encoding UTF8
 * Program do przegl�dania obraz�w.
                    ^
ImageViewer.java:7: error: unmappable character for encoding UTF8
 * Program do przegl�dania obraz�w.
                                ^
ImageViewer.java:28: error: unmappable character for encoding UTF8
 * Ramka z etykiet� wy�wietlaj�ca obraz.
                  ^
ImageViewer.java:28: error: unmappable character for encoding UTF8
 * Ramka z etykiet� wy�wietlaj�ca obraz.
                      ^
ImageViewer.java:28: error: unmappable character for encoding UTF8
 * Ramka z etykiet� wy�wietlaj�ca obraz.
                              ^
ImageViewer.java:37: error: unmappable character for encoding UTF8
      // U�ycie etykiety do wy�wietlenia obraz�w.
          ^
ImageViewer.java:37: error: unmappable character for encoding UTF8
      // U�ycie etykiety do wy�wietlenia obraz�w.
                              ^
ImageViewer.java:37: error: unmappable character for encoding UTF8
      // U�ycie etykiety do wy�wietlenia obraz�w.
                                              ^
ImageViewer.java:51: error: unmappable character for encoding UTF8
      JMenuItem openItem = new JMenuItem("Otw�rz");
                                             ^
ImageViewer.java:57: error: unmappable character for encoding UTF8
               // Wy�wietlenie okna dialogowego wyboru pliku.
                    ^
ImageViewer.java:60: error: unmappable character for encoding UTF8
               // Je�li plik zosta� wybrany, ustawiamy go jako ikon� etykiety.
                    ^
ImageViewer.java:60: error: unmappable character for encoding UTF8
               // Je�li plik zosta� wybrany, ustawiamy go jako ikon� etykiety.
                                  ^
ImageViewer.java:60: error: unmappable character for encoding UTF8
               // Je�li plik zosta� wybrany, ustawiamy go jako ikon� etykiety.
                                                                   ^
ImageViewer.java:69: error: unmappable character for encoding UTF8
      JMenuItem exitItem = new JMenuItem("Zako�cz");
                                              ^
14 errors

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #1 dnia: 2017-12-01, 05:38:11 »
Pewnie dlatego, że przykłady z książki są zapisane w CP1250 dla windowsiarzy...
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Panas

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 198
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #2 dnia: 2017-12-01, 12:44:01 »
Tego się domyśliłem ale jak zmienić kodowanie wszystkich plików? Bez zmieniania tego ręcznie przy każdym pliku?
Ten skrypt wystarczy?
http://lekka.cba.pl/software/ubuntu/linux_bash_converts_cp1250_to_utf8.htm
« Ostatnia zmiana: 2017-12-01, 12:52:24 wysłana przez Panas »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #3 dnia: 2017-12-01, 15:28:08 »
Cytuj
Ten skrypt wystarczy?

Łatwiej zainstalować recode i:
$> recode cp1250..utf8 *.java
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Panas

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 198
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #4 dnia: 2017-12-02, 19:48:04 »
recode i  iconv zapoznane ale teraz sypie mi błędem  którego nie rozumiem.
Cytuj
error: cannot find symbol
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
              ^
  symbol:   variable DEFAULT_WIDTH
  location: class ImageViewerFrame
ImageViewer.java:35: error: cannot find symbol
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
                             ^
  symbol:   variable DEFAULT_HEIGHT
  location: class ImageViewerFrame
ImageViewer.java:38: error: cannot find symbol
      label = new JLabel();
      ^
  symbol:   variable label
  location: class ImageViewerFrame
ImageViewer.java:39: error: cannot find symbol
      add(label);
          ^
  symbol:   variable label
  location: class ImageViewerFrame
ImageViewer.java:42: error: cannot find symbol
      chooser = new JFileChooser();
      ^
  symbol:   variable chooser
  location: class ImageViewerFrame
ImageViewer.java:43: error: cannot find symbol
      chooser.setCurrentDirectory(new File("."));
      ^
  symbol:   variable chooser
  location: class ImageViewerFrame
ImageViewer.java:58: error: cannot find symbol
               int result = chooser.showOpenDialog(null);
                            ^
  symbol: variable chooser
ImageViewer.java:63: error: cannot find symbol
                  String name = chooser.getSelectedFile().getPath();
                                ^
  symbol: variable chooser
ImageViewer.java:64: error: cannot find symbol
                  label.setIcon(new ImageIcon(name));
                  ^
  symbol: variable label
9 errors
s:~/JavaPodstawy/t1/r02/ImageViewer$ java ImageViewer
Exception in thread "main" java.lang.NoClassDefFoundError: ImageViewerFrame
   at ImageViewer.main(ImageViewer.java:15)
Caused by: java.lang.ClassNotFoundException: ImageViewerFrame
   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   ... 1 more
:~/JavaPodstawy/t1/r02/ImageViewer$ java ImageViewer
Exception in thread "main" java.lang.NoClassDefFoundError: ImageViewerFrame
   at ImageViewer.main(ImageViewer.java:15)
Caused by: java.lang.ClassNotFoundException: ImageViewerFrame
   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   ... 1 more
« Ostatnia zmiana: 2017-12-02, 20:01:51 wysłana przez Panas »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3049
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #5 dnia: 2017-12-02, 22:57:20 »
Nie jesteś pierwszy. Zastosuj się do postu Yo Yo na drugiej stronie wątku.

Hint: nie kupuj polskich książek informatycznych. Często są do tyłu o 2-3 wydania do oryginału, bardzo często masakrycznie przetłumaczone i bardzo często są takie kwiatki jak tutaj, ze skopanymi kodami źródłowymi. Warto poczekać na Black Friday albo inne święto zniżkowe (wydawnictwa IT mają parę "świąt" w roku - jakieś sysadmin day, 256 dzień roku i takie tam.) i kupić wersję oryginalną. Akurat książki IT korzystają z "inglisz" przyjaznego użytkownikom, i nawet średnia znajomość języka wystarczy do ogarnięcia. Dodatkowo, prawie wszystkie zachodnie duże wydawnictwa mają tak, że jak kupujesz w papierze, to albo za darmo (np. Manning czy NoStarch) albo za niewielką dopłatą rzędu $5-$10 dostajesz komplet e-booków bez DRM (MOBI+EPUB+PDF).

Co do przedawnienia książki - CoreJava wydanie 9 jest z 2012 roku, wydanie 10 z 2016 roku. Drobna różnica 4 lat rozwoju języka.

Aktualne wydanie papierowe w promocji na Amazonie kosztuje niecałe $30, po dzisiejszym kursie chcą 140zł za całość z przesyłką. Polski przestarzały ebook kosztuje 99zł... Tyle w temacie.

Bezpośrednio u wydawcy jest teraz dużo drożej - $65 za zestaw papier+3 formaty elektroniczne + $25 za wysyłkę, ale trafiają się mega zniżki sezonowe.
« Ostatnia zmiana: 2017-12-02, 23:21:19 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Panas

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 198
    • Zobacz profil
Odp: Java kodowanie UTF8
« Odpowiedź #6 dnia: 2017-12-02, 23:13:43 »
Własnie doszedłem do tego, kod ze źródła działa, helion ftp spaprał.
Dziękuję za zainteresowanie tematem.