Zmiana kodowania pliku

Odpowiedz Nowy wątek
aniann
2010-12-12 16:42
aniann
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??

Pozostało 580 znaków

::.
2010-12-12 16:44
::.
0

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

Pozostało 580 znaków

2010-12-12 16:50

Rejestracja: 12 lat temu

Ostatnio: 2 tygodnie temu

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.


Another jam from the world for the jam from the voices of the world......

Pozostało 580 znaków

::.
2010-12-12 17:42
::.
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.

Pozostało 580 znaków

2010-12-12 18:48

Rejestracja: 12 lat temu

Ostatnio: 2 tygodnie temu

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?


Another jam from the world for the jam from the voices of the world......
edytowany 1x, ostatnio: lipkerson, 2010-12-12 18:49

Pozostało 580 znaków

aniann
2010-12-12 19:15
aniann
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:)

Pozostało 580 znaków

::.
2010-12-12 19:26
::.
0

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

Pozostało 580 znaków

Odpowiedz

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