Skocz do zawartości

detekcja kodowania znaków stringa


vel

Rekomendowane odpowiedzi

Mam problem, mam wrażenie, że rozwiązanie jest proste, ale no zablokowałem się :)

Mam sobie plik tekstowy, czytam go do stringa. Teraz chcę wykryć w jakim kodowaniu jest ten string. Postanowiłem skorzystać z mb_detect_encoding. Tylko że zwraca ona bzdury i nieprawdę (plik tekstowy mam zakodowany w iso-8859-2). Gdy podam mu listę do przeszukiwania przez mb_detect_order to zawsze zwraca pierwsze kodowanie na tej liście :)

A jest mi to potrzebne żebym potem wiedział jak zapuścić iconva :)

Czy ktoś ma pomysł jak to rozwiązać? Bo google non stop zwraca mi n kopii manuala php tylko zamiast jakichś rozwiązań problemu

Kup sobie nieruchomości Kraków albo apartamenty Zakopane. Obejrzyj też fotoblog Grzegorza Ziemiańskiego Nowa Huta na deser

Odnośnik do komentarza
Udostępnij na innych stronach

no właśnie za każdym razem ten string wczytany z pliku może mieć różne kodowanie (najczęściej będzie to albo iso-8859-2 albo cp-1250). no i muszę to jakoś wykrywać, żeby wiedzieć jaką konwersję zapuścić dla iconv (docelowo muszę konwertować do utf-8)

Kup sobie nieruchomości Kraków albo apartamenty Zakopane. Obejrzyj też fotoblog Grzegorza Ziemiańskiego Nowa Huta na deser

Odnośnik do komentarza
Udostępnij na innych stronach

Obsługa określonych zestawów znaków jest zależna od implementacji iconv() w twoim systemie. Proszę pamiętać, że w niektórych systemach funkcja iconv() działa niezgodnie z oczekiwaniami. W takich przypadkach należy zainstalować bibliotekę libiconv.

Tutaj szukałbym przyczyny.

Dała matka rozum? To kombinuj.

Odnośnik do komentarza
Udostępnij na innych stronach

hellz ok, ale zanim dojdę do iconva muszę mu podać z jakiego charsetu ma konwertować :) i tu leży mój problem ;)

Kup sobie nieruchomości Kraków albo apartamenty Zakopane. Obejrzyj też fotoblog Grzegorza Ziemiańskiego Nowa Huta na deser

Odnośnik do komentarza
Udostępnij na innych stronach

velPytałem o język nie o kodowanie . Czy JĘZYK stringa znasz, jeśli jest zawsze polski to sprawa wydaje się prosta, lecz może trochę żmudna:

szukasz znaków o kodach > 128 i patrzysz z jakim kodowaniem się pokrywają.

Jeśli językiem stringu może być np. Niemiecki, Węgierski lub inny to sprawa bardziej jest skomplikowana bo trzeba by najpierw określić język.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności