Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Podgląd i zmiana kodowania pliku tekstowego


  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 merdes

merdes
  • 82 postów
  • SkądPL

Napisano 29 maja 2011 - 19:48

Szukam sposobu, żeby sprawdzić jakie jest kodowanie pliku tekstowego Chciałbym podglądnąć jakie kodowanie ma oryginał, a potem zmienić kodowanie mojego pliku na takie, jakie musi być żeby polskie czcionki wyświetlały się poprawnie.

#2 ftpd

ftpd

    Nie.


  • 24 351 postów
  • Płeć:
  • SkądPoznań

Napisano 29 maja 2011 - 22:42

Klikalnie to nie wiem, w Terminalu możesz użyć file(1):

tuonela ~ % file plik
plik: UTF-8 Unicode text


dla ISO-8859-2:

tuonela ~ % file plik
plik: ISO-8859 text

dla CP1250:

tuonela ~ % file plik
plik: Non-ISO extended-ASCII Pascal program text, with CRLF line terminators



#3 merdes

merdes
  • 82 postów
  • SkądPL

Napisano 29 maja 2011 - 23:17

No dziękuję bardzo. A edytor?

#4 macieks72

macieks72

  • 9 873 postów

Napisano 29 maja 2011 - 23:21

Ale co edytor? Bo nie wiem, wcześniej nic nie pisałeś o edytorze. tym 'file' sprawdzasz, a 'iconv' potem sobie skonwertuj na utf-8 jeśli będą inne.

#5 merdes

merdes
  • 82 postów
  • SkądPL

Napisano 29 maja 2011 - 23:23

Pisałem, że chciałbym zmienić kodownie pliku ;) a poprzez file mogę zobaczyć jakie ono jest. Iconv - to jest to.

#6 macieks72

macieks72

  • 9 873 postów

Napisano 29 maja 2011 - 23:26

napisałem wyraźnie że do konwertowania.

Przykład, konwertuje z windows-1250 na UTF-8:
$ iconv -f cp1250 -t UTF-8 plik_wejsciowy.txt > plik_wyjsciowy.txt
-f - kodowanie wejsciowe
-t - kodowanie wyjściowe

#7 merdes

merdes
  • 82 postów
  • SkądPL

Napisano 29 maja 2011 - 23:39

tak tak - czytałem manual - tylko, że nie wiem na jakie kodowanie zmienić plik conv.txt pobierz- aby były wyświetlane poprawnie polskie znaki.

#8 ftpd

ftpd

    Nie.


  • 24 351 postów
  • Płeć:
  • SkądPoznań

Napisano 29 maja 2011 - 23:53

A to zależy gdzie. Ja wszystko na UTF-8 koduję. A źródło jest w iso.

#9 macieks72

macieks72

  • 9 873 postów

Napisano 30 maja 2011 - 00:11

Dziwne to jakieś.
Downloads$ file conv.txt 
conv.txt: ISO-8859 text, with CRLF line terminators

ale z cp1250 dopiero konwertuje dobrze:
iconv -f cp1250 -t utf-8 conv.txt > conv.utf8.txt

Więc 'file' nie do końca dobrze rozpoznaje kodowanie, pewnie dlatego, że cp1250 jest podobny do ISO 8859-2, i 'file' tylko sprawdziło pierwsze jakieś znaki i stwierdziło błędnie że to iso.

#10 ftpd

ftpd

    Nie.


  • 24 351 postów
  • Płeć:
  • SkądPoznań

Napisano 30 maja 2011 - 00:22

U mnie jest ok z iso:

tuonela ~/Downloads % iconv -f iso-8859-2 -t UTF-8 conv.txt | head -n 1
147 "%1Wersja sprzętowego shadera wierzchołkowego %2.%3\n"



#11 macieks72

macieks72

  • 9 873 postów

Napisano 30 maja 2011 - 00:44

A zobacz dokładnie cały plik, a nie tylko pierwszą linijkę, bo np. "Ą","ą" są złe przy konwertowaniu z iso-8859-2.

ŹLE:
Downloads$ iconv -f iso-8859-2 -t utf-8 conv.txt | cat
147 "%1Wersja sprzętowego shadera wierzchołkowego %2.%3\n"
	148 "%1Wersja sprzętowego shadera pikselowego %2\n"
	149 "Nie można skompilować shadera pikselowego powierzchni"
	150 "Nie można skompilować shadera wierzchołkowego wody"
	151 "Nie można utworzyć shadera wierzchołkowego wody"
	152 "Nie można skompilować nierzutowanego shadera wierzchołkowego terenu"
	153 "Nie można utworzyć nierzutowanego shadera wierzchołkowego terenu"
	154 "Zbyt mało pamięci na karcie graficznej"
	155 "BŁĽD odłšczenia DX!!"
	156 "BŁĽD odłšczenia obiektów D3D!!"
	157 "Nie można zablokować bufora indeksu"
	158 "Nie utworzono sterownika otoczenia!"
Downloads$ 


DOBRZE:
Downloads$ iconv -f cp1250 -t utf-8 conv.txt | cat
147 "%1Wersja sprzętowego shadera wierzchołkowego %2.%3\n"
	148 "%1Wersja sprzętowego shadera pikselowego %2\n"
	149 "Nie można skompilować shadera pikselowego powierzchni"
	150 "Nie można skompilować shadera wierzchołkowego wody"
	151 "Nie można utworzyć shadera wierzchołkowego wody"
	152 "Nie można skompilować nierzutowanego shadera wierzchołkowego terenu"
	153 "Nie można utworzyć nierzutowanego shadera wierzchołkowego terenu"
	154 "Zbyt mało pamięci na karcie graficznej"
	155 "BŁĄD odłączenia DX!!"
	156 "BŁĄD odłączenia obiektów D3D!!"
	157 "Nie można zablokować bufora indeksu"
	158 "Nie utworzono sterownika otoczenia!"



#12 ftpd

ftpd

    Nie.


  • 24 351 postów
  • Płeć:
  • SkądPoznań

Napisano 30 maja 2011 - 00:57

A, fakt. Nie patrzylem. Btw. po co cat na koniec? Iconv wywala output na stdout sam.

#13 macieks72

macieks72

  • 9 873 postów

Napisano 30 maja 2011 - 01:00

Racja, ja terminal to tylko od święta ruszam, więc wybacz ten 'cat'.




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych