Wpis z mikrobloga

Mirki wytłumaczcie mi proszę jak to w końcu jest... ( ͡° ʖ̯ ͡°) Pobieram cURLem dane ze strony, która jest kodowana w windows-1250. Skrypt, który to obsługuje mam kodowany w nagłówku również w windows-1250 i wszystko gra. Chcę pobrane dane zapisać do bazy. Wszystko fajnie chodzi.

Problem polega na tym, że dane wypisywane na stronie, z której pobieram są pisane caps lockiem (np. UL. MIROSŁAWA ŚLĄSKIEGO 22, 12-345 BIAŁYSTOK). Chcę je sobie natomiast zapisać do bazy w bardziej ludzki sposób --> "Mirosława Śląskiego 22, 12-345 Białystok". Szukałem gotowych funkcji do zmiany np.

mb_convert_case
ale każda z funkcji, której próbowałem krzaczyła się na polskich znakach. Jest jakaś sprawdzona funkcja do tego?

PS: Aha. Kodowanie powinno zostać w windows-1250, bo osoba po której przejąłem tą bazę danych ustawiła kodowanie na latin1-swedish_ci

#php #kodwanie #polskieznaki #programowanie (jest jakiś tag dla takich lamerskich pytań, żeby nie było krzyku że to nie jest programowanie? () ) #lamusyprogramowania (?)
  • 6
  • Odpowiedz
@Xayan: Dlatego mam w tym momencie ustawione:

$ulica=mb_convert_case($ulica, MB_CASE_TITLE, 'ISO-8859-2');
i trochę działa. Problem jest z kilkoma znakami, np.

zamiast Świerczewskiego to zapisuje mi to do bazy jako

ŚWierczewskiego


zamiast Śląska to dostaję

ŚLµska
  • Odpowiedz
@aba: Właśnie tak zrobiłem jak napisałeś, tylko potem użyłem mbconvertcase. W nowych bazach zapisuję już wszystko w utf-8, problem ze starymi bazami tylko mam. Musiałbym je przekonwertować kiedyś na utf-8, bo to oszczędza dużo roboty, ale póki co nie mam na to czasu. Dzięki.
  • Odpowiedz