Czytam plik xml, który zawiera niemiecki, francuski, hiszpański, angielski i polski tekst.Wyświetlanie znaków (polskich) prawidłowo
Aby obsłużyć polskich liter (który spowodował najwięcej problemów) Starałem się zrobić to tak:
File file = new File(path);
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is, charset);
InputSource src = new InputSource(reader);
src.setEncoding(charset.name());
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(src, handler);
Problem natknąłem było to, że żaden z domyślnych zestawów znaków wyświetlić tekst prawidłowo. Niektóre mają znaki zapytania, niektóre zawierają kombinację innych znaków, np. Ao ..
Aby przełamać go nieco w dół pisałem kolejny fragment do testowania, które charset działa:
public static void main(String[] args){
Charset charset = StandardCharsets.UTF_8;
String chars = "śłuna długie";
System.out.println(new String(chars.getBytes(charset), charset));
}
Ponownie przetestowane każdy jeden, ale nic nie działa .. Mam nadzieję, że masz pomysł.
W pierwszym fragmencie kodu nic nie wypisujesz, więc trudno powiedzieć, co się dzieje. Drugi fragment kodu działa, 'śłuna długie' jest poprawnie drukowane na konsoli. Z jakiej konsoli korzystasz? * Gdzie * czy próbujesz wydrukować ten tekst? Czy urządzenie wyjściowe obsługuje znaki, które chcesz wydrukować? –
Trudno jest podać prawidłowy kod analizatora składni, ponieważ jest tak wiele ważnych jego części. Ok, więc problem może być moją konsolą .. nie pomyślałem o tym. To domyślna konsola mojego Intelli IDEA – codewing
zmieniła moje kodowanie projektu i ide do UTF 8 i zadziałało .. dziękuję kolego – codewing