Skocz do zawartości

Zamiana ANSI na UTF-8


Sutikku

Rekomendowane odpowiedzi

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

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 % 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...