Maven i polskie znaki

Maven i polskie znaki
TO
  • Rejestracja:prawie 16 lat
  • Ostatnio:prawie 8 lat
0

Mam problem z polskimi ogonkami. Wiem, że temat wałkowany wielokrotnie i dużo napisano na ten temat, jednak pomimo kilkugodzinnego szukania w necie i kombinowania nie udaje mi się znaleźć rozwiązania, choć domyślam się, że to jakiś banał.
Poniżej zamieszczam prosty programik, który odpalam w Windows. Program przyjmuje napis z konsoli a następnie go wypisuje. Co i jak należy poprawić, żeby działało to dla znaków narodowych?

Kopiuj
 
public class Witaj {
    public static void main(String[] args) throws UnsupportedEncodingException, IOException {
        System.out.println("napisz coś:");
        String echo;

        Scanner in = new Scanner(System.in);

        echo = in.nextLine();
        System.out.println("echo: " + echo);
    }
}

Plik pom.xml:

Kopiuj
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>EchoPolskieLitery</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
</project>

Pozdrawiam
Tomek

P.S. Zalaczam ten projekt, jakby ktos chcial sprawdzic.

edytowany 1x, ostatnio: Tompey
BA
  • Rejestracja:około 13 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Wrocław
  • Postów:259
0

Zamień polskie znaki zgodnie z tą tabelką:

Ą - \u0104; ą - \u0105
Ć - \u0106; ć - \u0107
Ę - \u0118; ę - \u0119
Ł - \u0141; ł - \u0142
Ń - \u0143; ń - \u0144
Ó - \u00d3; ó - \u00f3
Ś - \u015a; ś - \u015b
Ź - \u0179; ź - \u017a
Ż - \u017b; ż - \u017c

Lub Polskie znaki

edytowany 1x, ostatnio: barslo
TO
Dziękuję za odpowiedź. Może jest inny sposób? Bez uzycia Maven ten programik w Windows działa dobrze jak ustawiłem kodowanie Cp1250. W Maven jednak polskie znaki z wejścia konsoli są zamieniane na znaczki z innego kodowania. Próbowałem kombinować ze zmianą kodowania, ale co najwyżej dostawałem inne krzaczki.
TO
Próbowałem zrobić analizując pobrany napis i podmieniając znaki. Niestety nie moge odróżnić np. "ś" oraz "[", Jak wprowadzę z konsoli "ś[" to na wyjściu dostaję "[[" .c.charValue() dla obu znaków to 91, więc nie wiem jak odróżnić te znaki.
BA
Napisz sobie jakaś metodę która będzie Ci sprawdzać litery po kolei i zamieniać na wyżej podane kody Unicode. Ja nie wiem jaki ty masz problem. Bo mi twój projekt działa. Może w systemie masz ustawiony inny język?
BA
btw. u mnie charValue od ś zwraca 347 coś musiałeś pokićkać :P
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:19 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Problemem nie jest Maven, a konsola windowsa, która działa w kodowaniu CP-1250 i takie też jest domyślne kodowanie dla strumienia System.out. Dodaj na początku coś w rodzaju:

Kopiuj
System.setOut(new PrintStream(System.out, true, "utf-8"));

i powinno działać (choć głowy nie dam, bo piszę to z pamięci).


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
TO
Niestety, probowalem tego wczesniej, ale dla pewnosci sprobowalem jeszcze raz. Po wstawieniu linijki, ktora podales jak wpisze np "Źdźbło" dostaje "echo: ydzbBo". Problemem moze nie jest Maven, jednak jak jest to zwykly plik java, a nie projekt Maven, to dziala prawidlowo i wyswietlane jest to samo co sie wpisalo, lacznie z polskimi literami.
PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:4 miesiące
  • Postów:2787
0

Tak na szybko co ci znalazłem to spróbuj dodać taki kod do konfiguracji Mavena (czyli do pom.xml):

Kopiuj
 
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
TO
Niestety to nie dziala.
TO
  • Rejestracja:prawie 16 lat
  • Ostatnio:prawie 8 lat
0

Dolaczylem archiwum zip projektu do poczatkowego posta.

PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:4 miesiące
  • Postów:2787
0

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.