Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP/MYSQL/Curl Kodowanie
Reptile ReX
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


Mój skrypt pobiera informacje z wpisanego w inpucie adresu.

Za pomocą curla i wyrażeń regularnych a także, get_meta_tags.

I teraz mam problem, mój serwis jest w kodowaniu UTF-8, baza danych wszędzie: utf8_unicode_ci

Przy wyciąganiu np danych z onet.pl albo interia.pl pojawiają się sławne krzaczki, albo w ogóle obcina ciąg i nie dodaje do bazy całości.

Jako że mój serwis ma być elastyczny nie mogę sobie zrobić po prostu:

  1. $a = iconv('iso-8859-2', 'UTF8', $zmienna);


Bo wtedy strony które są w kodowaniu UTF-8 się sypią.

Próbowałem zdziałać coś funkcją mb_detect_encoding, jeżeli chodzi o UTF-8 to odczytuje kodowanie poprawnie, ale np iso-8859-2 już nie odczytuje więc problem występuje nadal.

Macie jakieś propozycje? może ja coś źle kminię (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Możesz pobrać tę informację z metatagów na stronie i z nagłówków wysyłanych przez serwer.
Tak zapytam jeszcze, czy masz zgodę "onet.pl albo interia.pl" na pobieranie od nich danych?
Go to the top of the page
+Quote Post
Reptile ReX
post
Post #3





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


Nie zawsze w nagłówkach jest określone z kodowanie.

Ma ktoś jakiś inny pomysł? czy zostaje mi tylko preg_match ?

Co do zgody to jedyne dane jakie są pobierane to: Title, Keywords oraz description.
Więc raczej nie naruszam żadnych praw autorskich.

Ten post edytował Reptile ReX 20.01.2011, 13:17:42
Go to the top of the page
+Quote Post
Noidea
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Przeglądarka też nie potrafi magicznie rozpoznać kodowania strony. Najpierw sprawdza, czy podane jest kodowanie w nagłówku Content-Type (tak jak na onecie). Jeżeli nie jest podane, to sprawdza tag <meta> (tak jak na interii). Jeżeli tam też nie ma podanego kodowania, to przeglądarka ustawia domyślne.

Sprawdzaj tak samo u siebie.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 10:12