Jak zmienić kodowanie znaków w Linuksie na Windows CP-1250


(Td4) #1

Mam następujący problem: nie udało mi się ustawić w moim Linuksie kodowania CP-1250, mimo starań. Jest mi niestety potrzebne, bo nazwy masy plików są z polskimi znakami i coś, co wygląda OK w jednym systemie ma krzaczki w drugim. Interesuje mnie zmiana w całym systemie, nie tylko w jednej aplikacji. I teraz pytanie: jak to zrobić? Gmerałem w systemsettings KDE i ustawiałem język, region itp. i nic.

Już szukałem w innych miejscach (Google, fora itd.). Użyłem też dpkg-reconfigure locales ale, albo coś ze mną nie tak, albo to nie działa, bo nie wyświetliło mi żadnego "łizarda".

Bardzo proszę o pomoc, grzebię już od rana i nadal stoję w miejscu, a bez zmiany kodowania wywołam (podczas zrzucania masy plików) totalny chaos.

Mój system to Kubuntu.

Pozdrawiam.


(Airborn) #2

a nie prościej (a na pewno sensowniej) skonwertować pliki przy pomocy iconv na utf8?


(Td4) #3

Próbowałem, ale najwyraźniej nieumiejętnie, bo wyrzucało mi błędy. Czy to działa na wszystkie typy plików, czy tylko na tekstowe?


(Xwars) #4

Jeśli problem jest w nazwach plików to raczej jest to kwestia odpowiednich parametrów w /etc/fstab a nie kodowania w samym systemie.

Zobacz http://ubuntuforums.org/showpost.php?s=51f30b0cc7aad4ca3dd4ac45bb4f7f3a&p=719531&postcount=3.


(Td4) #5

Po dosyć długim czasie kombinowania wciąż nie mam nic. Lepiej będzie jak opiszę dokładniej, co chcę zrobić, może tak będzie prościej.

Chodzi o pewien komputer (Win XP + Kubuntu 7.10), na którym różne rzeczy się ostatnimi czasy sypią. Doszedłem do wniosku, że jak już robić, to porządnie, więc chcę przenieść dane na inny (na którym stoi Kubuntu Linux 8.04) i podczas gdy dane spokojnie sobie siedzą, pracować na tamtym. Jedyne, co mnie wstrzymuje to pliki z polskimi nazwami. Zamierzam je przesłać przez sieć domową.

Próbowałem już gmerać w /etc/samba/smb.conf i wyniki mam połowiczne. Testuję to na pliku "Zażółć gęślą jaźń.odt" na dysku C. Wpis w części [global]

unix charset = ISO8859-2

dos charset = CP852

Daje mi znaki zapytania, a wpis

unix charset = UTF8

display charset = UTF8

dos charset = CP852

Daje, jeżeli się nie mylę, poprawne znaki, ale plik "nie istnieje". Poradnik mam z http://www.banita.pl/konf/smbudostunix.html . Locale w systemie to pl_PL.UTF8, próbowałem zmienić ale wywalało błąd, że brak mu tablicy dla pl_PL.ISO-8859-2.

I teraz zachodzę w głowę jak to zrobić, by te dane siedziały na kompie "magazynie" tak żebym mógł z czystym sumieniem zaorać dysk na tym pierwszym... Czy da się (pewnie się da, ale jak?) zamontować dysk sieciowy z parametrem iocharset=utf8? Może powinienem założyć osobny temat, żeby nazwa bardziej podchodziła pod Sambę?

Bardzo proszę o pomoc, robię tego kompa dla kogoś i chcę żeby wszystko działało idealnie, bo ten ktoś sobie niestety nie poradzi sam...


(Morietto) #6

czy chodzi o... no w Twoim notatniku też jest na pewno taka opcja.. ale ja korzystam z gedita więc...

jeżeli nie masz a chcesz...

sudo apt-get install gedit

potem...

otwierasz plik geditem

i...

plik> zapisz jako>

klikasz w pasek kodowanie znaków i wybierasz dodaj lub usuń i z listy wybierasz..

"środkowo-europejski WINDOWS-1250"

w notatniku z kde też jest na 100% możliwość dodawania kodowania do notatnika...więc nie ma konieczności instalacji gedita ;pp

no i zapisujesz i powinno pójść ;]


(filozof) #7

Jeśli używasz Kate (domyślnie jest w Kubuntu) - tam wygląda to właściwie jak w gedit, czyli postępujesz wg opisu gothmori :wink: Lista kodowania jest chyba gdzieś po prawej stronie okna zapisu (niestety, nie mogę teraz tego sprawdzić).


(Td4) #8

Przepraszam, że dopiero teraz odpowiadam (rychło wczas), ale metoda opisana tutaj http://ubuntuforums.org/showpost.php?s= ... ostcount=3 zadziałała. Wystarczy dodać jeden parametr w etc/fstab i gotowe. Nawet niekoniecznie trzeba to robić z konsoli, np. centrum sterowania KDE (ale to starsze, bo nowe nie jest kompletne) pozwala graficznie sobie to ustawić. Wielkie dzięki dla ucho3000 za pomoc! :smiley:

Mam tylko jeden problem: partycja NTFS nie zezwala na zapisywanie w niej mimo, że wszystkie pozwolenia są poustawiane. Co dziwne, raz zapisuje, a raz nie. Od czego to zależy? Może ominąłem jakiegoś configa?

Pozdrawiam!


(B Brachaczek) #9

Witam.

Skoro czasem zapisywanie działa, a czasem nie, możliwe, że nie działa wtedy, gdy Windows został w nieprawidłowy sposób zamknięty lub został zahibernowany i partycja NTFS jest zaznaczona jako w użyciu (coś w tym stylu... nie pamiętam dokładnie) i Linux Ci jej nie montuje, żeby czegoś nie zepsuć (co w przypadku np. hibernacji Windowsa byłoby realnie możliwe). Jeśli moje przypuszczenia są trafne, to albo zadbaj, żeby Windows zawsze był poprawnie zamykany, albo w /etc/fstab w opcjach dla partycji NTFS dodaj "force", co spowoduje montowanie tej partycji "na siłę".


(Td4) #10

Windows był poprawnie zamykany, żadnych hibernacji nie wykonujemy na nim (ojciec zawsze go po prostu wyłącza). Jakie ryzyko niesie ze sobą polecenie force? A może zrobić tak jak w tym poście, co go podawałem:

http://ubuntuforums.org/showpost.php?s= ... ostcount=3

Ustawić dostęp poleceniem umask? Wolę zapytać, niż patrzeć jak x danych idzie się śmigać ^^.


(B Brachaczek) #11

No możesz najpierw spróbować z tą opcją umask. A force niesie takie ryzyko, że jeśli zahibernujesz Windowsa, następnie włączysz Linuksa, zamontujesz partycję używaną przez Windowsa i poczynisz na niej jakieś zmiany, a następnie z powrotem obudzisz Windowsa, może dojść do uszkodzenia partycji (prawdopodobnie naprawialnego). Inne ryzyko nie występuje, chyba że o czymś nie wiem - proszę, niech ktoś mnie w takim wypadku poprawi.