Zmiana kodowania pliku

0

Mam taki problem, otóż dostaję na wejście plik, który zaczytuje do pamięci. Dla każdego wiersza robię pewnie operacje porównujące stringi, ale zauważyłem że przy zmianie kodowania pliku te operacje nie działają (działają tylko gdy plik jest zakodowany w ANSI). Jak obejść ten problem??

0

Nie wiem co rozumiesz przez "zmiane kodowanie pliku", ale rozwiazanie jest calkiem proste - plik musisz wczytywac zawsze w kodowaniu w jakim zostal zapisany.

0

Kodowanie znaków w javie to utf-8. Utf ma to do siebie że pierwsze 128 znaków (niejestem pewny co do extended ASCII) jest takie same jak dla ASCII czy każdej innej strony kodowej dlatego to Ci działa. Jeżeli natomiast masz już inne kodowanie i w nim wystepują znaki 128+ to Ci to nie zadziała. Wniosek jest taki - albo nie używaj znaków 128+ albo wczytujac bajty z pliku konvertuj je na utf-8 i wtedy porównuj.

0

Java wewnetrznie uzywa kodowania UTF16 od baardzo dawna. A co do kodowania ktore uzywane jest do wczytania plikow itp, to zalezy od platformy. UTF8 jest domyslnie pod linuksem, ale pod win jest to (u nas) cp1252 czy costam. Nie wprowadzaj w blad.

0

pod windą też jest utf-8...stworzysz sobie w wordpadzie plik z kodowaniem cp1250...dasz kilka polskich znaków i jak zaczniesz ładować ten plik to javy to Ci wyjdą szlaczki. Chyba że zaznaczysz by pobierać bajty mapowane z cp1250...nieprawda?

0

dzięki wielkie za pomoc, we wczytywanych rekordach z pliku usuwam wszystkie znaki które nie są zgodne z UTF-8 i teraz działa:)

0

@lipkerson: prawde nie wiem o czym do mnie mowisz.

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