Strona kodowa

0

Wiem że ten temat był poruszany wielokrotnie ale nie pomaga mi żaden z zamieszczonych tutaj postów, a mianowicie z czytuje plik w formacie .txt i wykonuje operacje na z czytywanych linijkach, głównie porównywanie ciągu znaków i tu jest problem a mianowicie zamiast polskich znaków mam romby z pytajnikami.
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(nazwa1),"UTF-8")); nazwa1 to ścieżka do pliku a następnie zwykłe z czytywanie w pętli whilewhile ((linia = br.readLine()) != null) jak zrobić tak aby były widziane polskie znaki

0

Najlatwiej to zapisac plik z kodowaniem UTF-8.

Powaznie, Twoj kod wyglada Ok, czyli wniosek jeden - plik nie jest wcale zapisany w UTF-8, stawiam na cp1250.

0

i jeszcze jedno - te znaczki masz na konsoli/w debugerrze/ czy moze gdzies indziej?

0

na konsoli i okienku z wiadomością o błędzie JPanel(), to rzeczywiście może być wina złego zakodowania pliku dzięki (ale gdy otwieram go zwykłym edytorem tekstu to nie ma takich znaczków)

0

daj znac jak sobie z tym poradzisz.

jakby co spróbuj może przemielić stringi tą metodą


private static String zakodujUTF8(String ciag){
  ciag.replaceAll("Ą", "\u0104");ciag.replaceAll("ą", "\u0105");
  ciag.replaceAll("Ć", "\u0106");ciag.replaceAll("ć", "\u0107");
  ciag.replaceAll("Ę", "\u0118");ciag.replaceAll("ę", "\u0119");
  ciag.replaceAll("Ł", "\u0141");ciag.replaceAll("ł", "\u0142");
  ciag.replaceAll("Ń", "\u0143");ciag.replaceAll("ń", "\u0144");
  ciag.replaceAll("Ó", "\u00d3");ciag.replaceAll("ó", "\u00f3");
  ciag.replaceAll("Ś", "\u015a");ciag.replaceAll("ś", "\u015b");
  ciag.replaceAll("Ź", "\u0179");ciag.replaceAll("ź", "\u017a");
  ciag.replaceAll("Ż", "\u017b");ciag.replaceAll("ż", "\u017c");
  return ciag;
 }


0

Znacznie lepiej i latwiej jest uzyc jakiegos lepszego notatnika (np notepad++) ktory pokazuje kodowanie i potrafi zmienic kodowanie pliku. A w celu rozwiazania problemu tego tematu nalezy dowiedziec sie wlasnie jakie jest kodowanie pliku zrodlowego i:
a) podac wlasciwe do konstruktora InputStreamReadera
b) zmienic kodowanie jakims programem na UTF-8

Metoda Freakmana moze i dziala, ale mi sie nie podob, czary mary z kodami znakow, nie lubie magicznych numerkow ;-P

0

A jak sie nie ma pod ręką dobrego edytora, to można uzupełnić plik z przodu o

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
</head>
<body>

i otworzyć w przegladrce, a potem zmieniać charset

0

Dobry hack nie jest zly ;-)

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