Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Url extract data
Forum PHP.pl > Forum > Przedszkole
medyq
Witam, rozbudowuje skrypt na wzór facebook'owego stąd:

http://www.99points.info/2010/07/facebook-...query-ajax-php/

Wszystko pięknie mi idzie w stosunku do oryginału jednak natknąłem się przypadkiem na problem kodowania znaków.

Wszystkie pliki mam w kodowaniu utf-8 wraz z kodowaniem strony utf-8. Gdy Wyciągam tytuł i tagi stronki zakodowanej w utf-8 nie ma problemów. Natomiast gdy strona jest w iso wtedy zamiast PL znaków są krzaki. Przykładem może być dowolny artykuł na wp.pl. Link strony w kodowaniu iso wklejony tu: http://wakeupzee.netai.net/99points/facebook_url_extracting/ pokaże w czym problem.

Będę wdzięczny za pomoc.
Pozdrawiam.
erix
mb_detect_encoding + iconv
medyq
Zrobiłem to na takiej zasadzie:

  1. function convToUtf8($str){
  2. $encode = mb_detect_encoding($str, "ISO-8859-2, ISO-8859-1, UTF-8");
  3. if($encode !="UTF-8" )
  4. {
  5. return iconv("$encode","utf-8",$str);
  6. }
  7. else
  8. {
  9. return $str;
  10. }
  11. }
  12. $title = convToUtf8($title);


I wszystko gra jeśli strona jest w iso. Jeśli natomiast jest utf to dostaje dla odmiany też krzaczki :/
erix
No tak, a te krzaki w jakim kodowaniu?
medyq
Dzięki za zainteresowanie. Problem polegał w koelejności wypisywanych po przecinku wariacji. Umieszczenie utf-8 na końcu ciągu w funkcji detect sprawiało że string w kodowaniu mimo kodowania utf-8 zostawał przepuszczony że przez iconv

Mimo innego przeznaczenia spróbowałem jak w poście: http://pl.php.net/manual/pl/function.mb-de...oding.php#81936

Odwróciłem kolejność:

  1. $encode = mb_detect_encoding($str, "UTF-8, ISO-8859-2, ISO-8859-1");


I śmiga.

Dziękuje za naprowadzenie. Wcześniej próbowałem z iconv ale od du.. strony smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.