Sutikku Opublikowano 9 Października 2021 Udostępnij Opublikowano 9 Października 2021 Pobrałem sobie eksport .CSV z mBanku z wykazem operacji, okazało się, że jest jakoś dziwnie sformatowany (?), chciałem sobie to zaczytać do bazy danych za pomocą PHP. Noi jest problem, bo nie działają polskie znaki. Po zamianie w notepad++ z kodowania ANSI na UTF-8 jest okej, ale nie będę tego przecież za każdym razem robił. Wypróbowałem chyba cały stackoverflow i dalej nic, więc spróbowałem str_replace() ale zostały mi dokładnie trzy znaki których nie łapie ani str_replace ani regex. Œ œ Ÿ Są to kolejno literki Ś, ś i ź. Próbowałem utf8_encode(), mb_convert_encoding(), iconv(), jedynie str_replace() ma dobry efekt, ale no nie łapie wszystkiego. Nie wiem już jak się za to zabrać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 11 Października 2021 Udostępnij Opublikowano 11 Października 2021 Klasyczny problem bazodanowy. Pewnie twoja tabela ma inne formatowanie niż dane gnysek 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tramur Opublikowano 11 Października 2021 Udostępnij Opublikowano 11 Października 2021 Nie wiem, skąd bierzesz dane w tym mBanku, ale wygenerowałem sobie CSV z zestawienia operacji i iconv jak najbardziej radzi sobie z konwersją znaków. krystian@MacBook-Pro-Krystian Downloads % locale LANG="pl_PL.UTF-8" LC_COLLATE="pl_PL.UTF-8" LC_CTYPE="pl_PL.UTF-8" LC_MESSAGES="pl_PL.UTF-8" LC_MONETARY="pl_PL.UTF-8" LC_NUMERIC="pl_PL.UTF-8" LC_TIME="pl_PL.UTF-8" LC_ALL= krystian@MacBook-Pro-Krystian Downloads % head -n 4 wyciong.csv | iconv -f windows-1250 -t utf-8 mBank S.A. Bankowość Detaliczna; Skrytka Pocztowa 2108; 90-959 Łódź 2; www.mBank.pl; krystian@MacBook-Pro-Krystian Downloads % gnysek 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Października 2021 Administratorzy Udostępnij Opublikowano 11 Października 2021 Jeśli po dodaniu do bazy w phpmyadminie widzisz krzaczki, ale po wczytaniu rekordu z bazy i wyświetleniu w php już nie, to problem polega jednak na kodowaniu bazy (lub braku ustawienia kodowania przy połączeniu, a domyślnie wchodzi jakieś niechciane), a nie na problemie z plikiem. To zresztą łatwo sprawdzić dodając "zażółć gęślą jaźń" z kodu zamiast z csv. Potraktowanie pliku iconv przed importem też powinno załatwić sprawę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 14 Października 2021 Autor Udostępnij Opublikowano 14 Października 2021 PHP źle wyświetla dane jeszcze przed importem do bazy, po prostu po wczytaniu przez file_get_contents(). Iconv wywala błąd illegal input sequence. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Października 2021 Administratorzy Udostępnij Opublikowano 15 Października 2021 No to coś z plikiem. Kojarzę, że jest jeszcze taki śmieszny przełącznik w iconv //translit i on mi kiedyś pomógł z wczytaniem pliku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się