Strona 1 z 1

Jak ustawić kodowanie w plikach otwieranych przez mcedit?

: 20 stycznia 2012, 12:28
autor: ksysinek
Niedawno przesiadłem się na laptopie na Debiana Squeeze z kodowaniem UTF-8. Mam też drugą, zdalną maszynę z Debianem, z którą łączę się przez ssh gdzie używałem kodowania ISO-8859-2.

Oczywiście mc i wszystkie polecenia w konsoli wyglądały fatalnie. Zmieniłem więc na zdalnym komputerze lokalizację na pl_PL.UTF-8 i mc zaczął działać normalnie.

Problem jest jednak z plikami edytowanymi w mcedit. Wszystkie pliki *.txt i *.html, które znajdują się u mnie na serwerze są zakodowane w ISO-8859-2. Zamiast polskich znaków wyświetlają się w mcedit przez ssh kropki na czarnym tle. Znowu gdy zapiszę coś w mcedit to Apache wyświetla mi krzaczki. Nie chcę konwertować wszystkich plików ani mieszać w konfiguracji serwera apache - to za dużo roboty w moim przypadku.
Poszukuję tylko, jak zmienić ustawieniach mcedit żeby czytał i zapisywał prawidłowo.

: 20 stycznia 2012, 13:22
autor: mariaczi
Napisałeś, że masz dostęp do konsoli. Zatem jeśli to nie problem, to może skonwertuj pliki na UTF-8 przy pomocy iconv.

: 20 stycznia 2012, 13:25
autor: ksysinek
Właśnie w tym problem, że nie mogę tego zrobić. Szukam jak ustawić mcedit pod iso-8859-2

: 20 stycznia 2012, 13:41
autor: mariaczi
A sprawdź po otwarciu pliku "lewy Alt + e" albo górne menu "Polecenie..." :)

: 20 stycznia 2012, 19:42
autor: ksysinek
Przeszukałem całe menu "Polecenie", "Opcje" i "Edycja" ale nic nie dałem.

Google nie jest w stanie mi pomóc bo wszystko co związane z mc i kodowaniem tyczy się tylko krzaczków w samym programie a nie plikach przez niego otwieranych.

: 20 stycznia 2012, 19:52
autor: DaVidoSS
Zbuduj sobie własny program mc z obsługą wielu stron kodowych.

http://www.linuxfromscratch.org/blfs/vi ... al/mc.html

: 20 stycznia 2012, 20:30
autor: mariaczi
Którą masz wersję Debiana?
Pokaż też wynik polecenia

Kod: Zaznacz cały

mcedit -V
Sprawdziłem i na lenny i na squeeze - na obu mc jest skompilowane (z paczki) z obsługą wielu stron kodowych. Jest inna wersja.

U mnie na lennym "lewy Alt" + "e" nie działa, na squeeze - działa.
Obstawiałem, że zależy to od zawartości

Kod: Zaznacz cały

/etc/locale.gen
jednak nie.

: 20 stycznia 2012, 20:34
autor: ksysinek
Wynik polecenia:

Kod: Zaznacz cały

GNU Midnight Commander 4.6.2-pre1
Wirtualny System Plików: tarfs, extfs, cpiofs, ftpfs, fish
Z wbudowanym edytorem
Używanie biblioteki S-Lang zainstalowanej w systemie z bazą danych terminfo
Z domyślną obsługą podpowłoki
Z możliwością wykonywania zadań w tle
Z obsługą myszy w oknie xterma i na konsoli linuksowej
Z obsługą wielu języków
Z obsługą wielu stron kodowych
Data types: char 8 int 32 long 32 void * 32 off_t 64 ecs_char 8
Po wciśnięciu alt + E otwiera mi się menu Edycja ale na lokalnym komputerze. Nie wiem jak posłać Alt + E przez ssh.

Mam nadzieję, że nie będę musiał wybierać tego kodowania za każdym razem.

Tymczasowo przeszedłem na vima ale nie zadowala mnie do końca dlatego chciałbym dopracować edytor mcedit.

: 20 stycznia 2012, 21:21
autor: mariaczi
Coś wspólnego z tym "zamieszaniem" ma plik mc.charsets
Jego zawartość z systemu z działającym skrótem "lewy alt" + "e"

Kod: Zaznacz cały

root@srv:~# cat /etc/mc/mc.charsets
ASCII           7-bit ASCII
ISO-8859-1      ISO 8859-1
ISO-8859-2      ISO 8859-2
ISO-8859-5      ISO 8859-5
CP1250          Windows 1250
CP1251          Windows 1251
CP437           CP 437
CP850           CP 850
CP852           CP 852
CP866           CP 866
KOI8-R          KOI8-R
KOI8-U          KOI8-U
UTF-8           UTF-8
Ale to nie tylko to...
Jak się łączysz do ssh? Ja korzystam z putty :)

Dodane:
Doszukałem się znaczącej różnicy.
W squeeze, gdzie działa wybieranie strony kodowej mam MCEdit 4.7.0.9 natomiast w lennym gdzie nie ma okna wyboru strony kodoej (i nie działa skrót lewy alt+e) jest Cooledit v3.11.5.
Dodatkowo na squeeze kombinacja klawiszy ctrl+o wyłącza okno dając podgląd powłoki lecz nie można wpisać polecenia. Wciśnięcie jakiegokolwiek klawisza alfanumerycznego powoduje pojawienie się z powrotem okna edytora. Na lennym ctrl+o daje pełny dostęp do powłoki.
Na obu systemach mcedit jest linkiem symbolicznym do mc.

Jak sprawdzić co jest co? Otworzyć plik do edycji, F9 -> Plik -> Informacje o... (lub O programie...).

: 20 stycznia 2012, 22:18
autor: fnmirk
Kombinujesz jak nie powiem co. Wystarczy przejrzeć opcje programu: Opcje -> Wyświetl bity: wybierasz rozwijaną listę i ustawiasz odpowiednie kodowanie. W systemie muszą być wybrane obie strony kodowe, których chcesz zamiennie używać. A w konsoli musisz używać fontów, które obsługują obydwie strony kodowe. Jest dużo domyślnych fontów i odpowiedniego kodowania, które obsługują utf8 a nie obsługują iso8859-2. Zainstaluj font terminus, jak nie masz.
Przedstaw wyniki z obydwu komputerów:

Kod: Zaznacz cały

locale -a
dpkg -l | grep font