Polskie ogonki a iconv()

Napisał do mnie maila Krzysztof T. z informacją, że strona kodowa windows-1250, którą zakodowałem polskie znaczki w zbiorze danych Diagnoza Społeczna źle wygląda pod Linuxami.

Zmieniłem więc pliki z danymi usuwając znaki diaktrytyczne. Można też było zmienić kodowanie na UTF-8, ale usunięcie ogonków gwarantuje zgodność z każdym systemem operacyjnym.

Do zmiany kodowania w programie R można użyć funkcji iconv(), która wykorzystuje specyficzne dla systemu narzędzia do konwersji. Listę obsługiwanych stron kodowych wyświetla funkcja iconvlist().

Poniżej przykładowy kod R który usuwa znaki diaktrytyczne ze zbioru danych diagnozaOsoby2011. Podanie argumentu to=”UTF-8″ spowodowałoby konwersje do formatu UTF-8. W systemie Windows od wersji R 2.11 aby usunąć ogonki należy podać argument to=”ASCII//TRANSLIT”, pod innymi systemami wystarczy to=”ASCII”.

 

2 myśli na temat “Polskie ogonki a iconv()”

  1. Brrrr!

    “strona kodowa windows-1250, którą zakodowałem polskie znaczki w zbiorze danych Diagnoza Społeczna źle wygląda pod Linuxami.”

    Wierutna bzdura. Co najwyżej jak się wczyta dane korzystając ze złej strony kodowej, to się ma śmieci. Strona kodowa “nie wygląda”, co najwyżej czcionka może źle wyglądać, ale to odrębny problem.

    “Można też było zmienić kodowanie na UTF-8, ale usunięcie ogonków gwarantuje zgodność z każdym systemem operacyjnym.”

    No nie, np. nie w tych które korzystają z EBCDIC (IBM) czy UTF-16 (windowsy).

    “R”

    Wystarczy iconv -f cp1250 . Pisanie do tego skryptu to IMHO overkill.

    “Zmieniłem więc pliki z danymi usuwając znaki diaktrytyczne.”

    Zła odpowiedź na źle postawiony problem. Jedyna rzecz która mnie drażni na tym (wspaniałym skądinąd) blogu, to występujący miejscami brak polskich literek. Kasowanie polskich znaków diakrytycznych w odpowiedzi na brak umiejętności “Krysztofa T.” to równanie w dół, czyli coś czemu ten blog ma za cel przeciwdziałać.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">