Polskie litery w .ini

w dziale Opera
daroc napisał(a):

W jaki sposób, edytując plik .ini zawierający menu, wstawić element z polską literką "ł"?
Mam np:
Item, "Słownik" = Hotclick search, 121
I "ł" jest zawsze w postaci kwadracika... worried

pablik napisał(a):

Z tego co wiem, pliki *.ini Opery kodowane są przy pomocy Utf-8. Potrzebujesz jakiegoś narzędzia, które potrafi edytować w tym kodowaniu.

AbdulMumit napisał(a):

Jeśli na linuksie, to możesz spokojnie pisać, w czym Ci się żywnie podoba, a później pobawić się wielce użytecznym programikiem «recode» (recode --help).

A tak w ogóle, to z jakiej części Torunia jesteś? bigsmile

pablik napisał(a):

Można także od razu pisać wielce użytecznym Vim-em wink

AbdulMumit napisał(a):

pablik napisał(a)
Można także od razu pisać wielce użytecznym Vim-em wink


No tak, bardzo Vi/Vima/GVima polecam (sam na co dzień używam), ale to trzeba naprawdę chcieć, żeby się go nauczyć... A poza tym – ja na przykład nie mam pojęcia, jak w Vimie pisać od razu uteefem – jak coś wiesz, pablik, podziel się wiedzą, nie tylko mnie się przyda. bigsmile

pablik napisał(a):

Ja także nie znam dobrze Vim-a, ale mogę opisać mój efekt zmagań z helpem smile

Do obsługi kodowania w programie używa się następujących poleceń:
1. set encoding (w skrócie set enc) - pokazuje aktualnie używane kodowanie. Określa, jako jakie kodowanie traktowany jest aktualny tekst. Aby zmienić, pisze się set enc=coś, Warto wiedzieć, że kodowanie "Windows-1250" nazywa się tutaj "cp1250". Domyślnie wartość tej zmiennej to kodowanie używane przez system operacyjny.

2. set fileencoding (w skrócie set fenc) - pokazuje, w jakim kodowaniu zostanie zapisany plik. Domyślnie jest to łańcuch pusty, co oznacza, że wzięte zostanie kodowanie z encoding. Aby zmienić, pisze się set fileencoding=coś. Przydatne na przykład do zmiany kodowania pliku - otwiera się, zmienia fenc, zapisuje, gotowe.

3. set termencoding (w skrócie set tenc) - określa, jako jakie kodowanie traktowane są znaki czytane z klawiatury - lepiej tego nie zmieniać. Domyślna wartość to łańcuch pusty, czyli wartość encoding (tego nie jestem pewny, możliwe, że pustym łańcuchem jest kodowanie używane przez system operacyjny).

4. set fileencodings (w skrócie set fencs) - tutaj określona jest lista kodowań. Podczas otwierana pliku, brane jest po kolei każde z kodowań, jeśli przy przetwarzaniu natrafiony jest na jakikolwiek błąd, brane jest następne kodowanie w kolejności. Stosowane jest, gdy pracuje się z plikami o różnych kodowaniach. Tutaj jest jednak istotny problem, w jakiej kolejności podawać kodowania, przykład: jeśli damy "cp1250" przed "iso-8859-2", zawsze zostanie wybrane "cp1250", ponieważ wszystkie pliki zapisane w "iso-8859-2" przechodzą bez błędów przez test "cp1250" i są krzaki, dlatego lepiej dać "iso-8859-2" przed "cp1250" (odwrotnie nie ma tego problemu).
Domyślna wartość to "ucs-bom" - rozpoznaje znacznik kodowania na początku pliku (nie wiem jak to działa, w każdym razie podobno wymagane do rozpoznania utf-a). Jeśli chcemy mieć "ucs-bom" w zmiennej fileencodings, najlepiej dać go na początek listy. Aby zmiany w fileencodings były trwałe, należy dopisać to do odpowiedniego pliku konfiguracyjnego. Ja ustawiłem sobie: fileencodings=ucs-bom,iso-8859-2,cp1250.

Warto wiedzieć, że Vim wewnętrznie używa kodowania utf-8.

Przydatna jest także zmiana znaku końca linii:
set fileformat (w skrócie set ff) - znane mi wartości to "dos" i "unix".

dodane:
Nie ma sposobu, aby wczytywany plik został przetworzony, jako inne kodowanie po otwarciu pliku. Jeśli po otwarciu widzimy krzaki, nie da się tego zmienić natychmiast. Wtedy należy zamknąć plik, ustawić odpowiednie zmienne i otworzyć go od nowa.

Mam nadzieje, że udzieliłem wystarczającej pomocy bigsmile

dodane2:
Czytając te helpy, natknąłem się na wzmiankę, że kodowania, w których kilka znaków może odpowiadać jednej literce (chyba także utf-8) obsługiwane są od określonej wersji Vim-a w górę. Mnie to nie dotknęło, jednak jeśli ktoś za nic nie może edytować przy pomocy utf-8, to to może być przyczyną.

AbdulMumit napisał(a):

Przegenialne! WIELKI post, wspaniały, cudowny! Dzięki, to jest to, czego nie wiedziałem, i nawet nie wiedziałem, co tracę!

Ludzie, uczta się Vima! Ten edytor może wszystko, o czym się przekonuję po raz kolejny!

Ryszard napisał(a):

W jaki sposób, edytując plik .ini zawierający menu, wstawić element z polską literką "ł"?


Widziałem już różne wynalazki do utf-8 dla win98 ale zawsze wracam do metody:
- Operze "gdziekolwiek" wpisuję słowo, lub tekst (gdziekolwiek zależy od rozmiaru tekstu - może być pasek adresu, albo jak większe to Nowa wiadomość e-mail)
- zaznaczam wpisane, prawoklik Kopiuj jako notatkę
- otwieram Notatnikiem plik
- kopiuję co trzeba i potem wklejam w odpowiednie miejsce bigsmile

Tak już od 1/2 roku "robię" tabelę:
znak "zwykły" - "kombinacja do utf-8"
ale zawsze się kończy na etapie planowania

andol napisał(a):

Originally posted by daroc
Ja używam WinXP,



Windowsowy notatnik z WinXP obsługuje przecież UTF-8.

Ryszard napisał(a):

Ja używam WinXP, a tu mi 50 rozwiązań na linuxa dają... ech...


Jakoś wcale nie działało.. Używałem Notatnika z Win, Notatnika SP... i wynik zawsze ten sam...


Ja pisałem o Win98 - co widać w każdej mojej wiadomości. I myślałem, że masz Win98, bo

Windowsowy notatnik z WinXP obsługuje przecież UTF-8.


A "nie działało" z WinXP Notatnikiem z takiego samego powodu, dla którego nie wystarczy z tej wiadomości skopiować np. żółty - to znaczy owszem można ale ze źródła.

daroc napisał(a):

Ja używam WinXP, a tu mi 50 rozwiązań na linuxa dają... ech...
Thx, Ryszard. bigsmile

UPDATE: Jakoś wcale nie działało.. Używałem Notatnika z Win, Notatnika SP... i wynik zawsze ten sam...
Pomogło dopiero użycie Pajączka i konwersja do UTF-8...

UPDATE2: Jestem z III Rubinkowa, jak coś... bigsmile