Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-12-07 19:17:25

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

Kod:

$ locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

I teraz pytanie.. czy jest możliwość zapisania dowolnego pliku tekstowego z kodowaniem iso-8859-2 ? Nie zmieniając przy tym kodowania dla systemu ..

Offline

 

#2  2008-12-07 19:26:25

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

Nie bardzo rozumiem pytanie.

Czy chodzi ci o przekierowanie wyniku jakiegoś polecenia ze zmienionym kodowaniem?

Kod:

polecenie | iconv -f UTF8 -t ISO88592 > plik

Bo tak, to prawdopodobnie wystarczy dobrać odpowiednią opcję w programie, edytory zazwyczaj pozwalają na wybór kodowania podzas zapisu/tworzenia.

Zawsze możesz też przekonwertować gotowy plik:

Kod:

iconv -f UTF8 -t ISO88592 plik > plik.tmp && mv plik.tmp plik

Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#3  2008-12-07 20:01:48

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

vim:

Kod:

:e ++enc=strona-kodowa /sciezka/do/pliku
:w ++enc=strona-kodowa

Pierwszy otworzy plik /sciezka/do/pliku mając na uwadze, że zapisany on jest w kodowaniu strona-kodowa. Przekonwertuje ten zestaw znaków na ten zadeklarowany w vim-ie, dzięki czemu nie zobaczysz krzaków.
Drugie zapisze otworzony plik używając kodowania strona-kodowa. Przekonwertuje zestaw znaków zadeklarowany w vim-ie na inny.

Generalnie pożytkuj się dokumentacją swojego edytora, gdyż nie byłeś łaskaw powiedzieć o jaki program konkretnie chodzi.

Zapomniałem dodać:
Do konwersji znaków w już istniejących plikach można użyć konwert (wbrew pozorom, nie ma on nic wspólnego z KDE i jest narzędziem CLI). Prócz większych niż iconv możliwości, ma on także funkcję zmiany kodowania istniejącego pliku (opcja -O; de facto przekierowuje on wyjście do pliku tymczasowego i zastępuje nim plik źródłowy, jednak robi to przezroczyście dla użytkownika — zupełnie jak sed -i).

Ostatnio edytowany przez Minio (2008-12-07 20:12:17)

Offline

 

#4  2008-12-07 20:13:20

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

Kwrite pozwala je zmieniać do wyświetlania, ale w innym zapisywania niż systemowe nie znalazłem.., a Ty widzisz takową opcję? A może inny edytor polecisz ?

Kod:

iconv -f UTF8 -t ISO88592 plik > plik.tmp && mv plik.tmp plik

O to mnie chodziło, Bóg zapłać:).

Offline

 

#5  2008-12-07 22:18:12

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

kwrite w oknie zapisz jako pozwala wybrac kodowanie zapisywanego pliku (lista rozwijana w prawym gornym rogu)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#6  2008-12-07 22:25:26

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

Faktycznie:).

Offline

 

#7  2008-12-07 22:32:12

  fnmirk - Redaktor

fnmirk
Redaktor
Zarejestrowany: 2008-02-19

Re: zapisanie dowolnego pliku z innym kodowaniem niż systemowe ..

kondzio14 napisał(-a):

Kwrite pozwala je zmieniać do wyświetlania,

Jak miałem kde i korzystałem z kwrite to robiłem tak:
1. Otwierałem plik z oryginalnym kodowaniem np. systemowym utf8
2. Otwierałem drugie okno z pustym plikiem w którym zmieniałem wyświetlanie kodowania np. na cp1250.
3. Zaznaczałem tekst w wersji utf8 i wybierałem opcję kopiuj.
4. Wklejałem tekst do otwartego edytora z ustawionym drugim kodowaniem i zapisywałem pod wybraną nazwą.
Kiedyś działało jeszcze na Etchu. Obecnie nie wiem czy zadziała. Sprawdź jak chcesz.

Jednak konwertowanie jest prostsze i szybsze. Uzupełnienie informacji podanej przez Minio: jak korzystać z konwert (ostatni post).

Edit:
O opcji jaką podał bercik nigdy nawet nie pomyślałem w takim kontekście. Udostępnia przeciecz taką możliwość większość edytorów pod Linuksem.

Najprostsze rozwiązania znajdują się na wyciągnięcie ręki. Dziękuję bercik za wskazówkę.

Ostatnio edytowany przez fnmirk (2008-12-07 23:12:42)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)