Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak sprawdzić kodowanie - zawartość zmiennej
Masterson
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.07.2011

Ostrzeżenie: (0%)
-----


Witam serdecznie.

W zmiennej $dane mam opis, który jest pobierany z pliku tekstowego. Plik tekstowy ma kodowanie ISO-8559-2 lub Windows-1250. Chcę sprawdzić kodowanie ponieważ za pomocą iconv konwertuję zawartość do UTF-8.

Szukałem w sieci (również na forum) i nie znalazłem niczego co by zadziałało.

Ostatnie rozwiązanie, które sprawdzałem i które niby działa:
  1. $encoding = mb_detect_encoding($dane, 'ISO-8859-2, Windows-1250, UTF-8', true);
  2. echo $encoding;


Niestety echo nie zwraca żadnej wartości (nie wykrywa kodowania zmiennej), ktoś wie jak to ugryźć?

Ten post edytował Masterson 1.08.2011, 11:08:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Jest jeszcze inny, banalniejszy sposób. Po prostu przeszukaj string na obecność znaków, przy których te kodowania się różnią. Jeżeli np. znajdziesz 'ś' w kodowaniu ISO, to właśnie takie jest kodowanie. W przeciwnym wypadku kodowanie to Windows-1250. Dla zwiększenia szansy poprawnego rozpoznania obsłuż wszystkie istotne znaki: (wielkie i małe litery ą,ś,ź)

niemniej, oczywiście dużo wygodniejsze byłoby użycie mb_detect_encoding...

Ten post edytował l0ud 1.08.2011, 13:28:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 15:02