Jak ustawi

Tematy związane z oprogramowaniem, instalacją, konfiguracją
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Jak ustawić kodowanie w plikach otwieranych przez mcedit?

Post 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.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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.
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post autor: ksysinek »

Właśnie w tym problem, że nie mogę tego zrobić. Szukam jak ustawić mcedit pod iso-8859-2
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

A sprawdź po otwarciu pliku "lewy Alt + e" albo górne menu "Polecenie..." :)
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post 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.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Zbuduj sobie własny program mc z obsługą wielu stron kodowych.

http://www.linuxfromscratch.org/blfs/vi ... al/mc.html
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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.
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post 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.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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...).
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post 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
ODPOWIEDZ