Page 10 of 16

mBank i przelew na inny numer konta rachunku

To nie pierwszy mój problem z mBankiem, poprzedni to taki, że nie można zmienić limitów na karcie bez kontaktu z mlinią i miałem problem też z wypłatą z bankomatów bez prowizji mimo, że były na liście bezprowizyjnych ale ten wpis to inna bajka…

Za pięcioma górami i tak dalej… Ale bardziej konkretnie, czyli suche fakty:

Historia przelewu na inny numer konta

Dnia 30.12.2010 kupiłem na allegro kartę graficzną, jak to zwykle mam w zwyczaju od razu zrobiłem przelew. Skopiowałem dane z emaila od allegro uprzednio sprawdzając czy zgadzają się z tymi podanymi na stronie aukcji, zgadzały się to ów przelew żem zrobił. Wszystko jest dobrze do czasu… pamiętnego dnia 03.01.2010 sprzedający zadał mi pytanie czy wykonałem przelew na co oczywiście odpowiedziałem twierdząco i dodałem, że już powinien mieć całą kwotę na swoim koncie a on mi pisze, że nic nie dostał… To mu wysłałem potwierdzenie przelewu i w tym momencie patrze na to potwierdzenie a tam dane osobowe się zgadzają lecz numer konta jest zupełnie inny po prostu pieniądze poszły na zupełnie inny numer konta mimo że dane osobowe były takie jak podałem. (tutaj wyjaśnię coś tym, którzy myślą że skopiowałem zły numer konta: nie miałem skąd wziąć tego numeru konta, szukałem go w historii mojego rachunku bankowego i na mailu). I tutaj nie zastanawiając się zadzwoniłem do banku na mlinię i zgłosiłem reklamację, pani na mlini ją przyjęła i powiedziała, że bank ją rozpatrzy w ciągu 30dni(później okaże się, że to bzdura).

Po jakimś czasie dnia 11.01.2011 zadzwonili do mnie (piszę teraz jak ja to zrozumiałem, to nie suchy fakt) że zgłaszają sprawę na policję i że przesyłają mi upoważnienie dla policji dotyczące tajemnicy bankowej w sprawie mojego konta. Jako, że nie miałem danych żeby to upoważnienie uzupełnić napisałem maila, żeby mi je podali…(znowu suche fakty) i oddzwonili po jakimś czasie i teraz zrozumiałem, że to ja mam zgłosić tę sprawę na policję bo bank tego nie robi.

Chcąc odzyskać swoje pieniądze miałem zamiar to zgłosić a, że zbliżały się ferie to byłby czas, bo zapewne trzeba iść od rana (sami mnie na 9 zaprosili ale o tym niżej). Zanim zdążyłem pójść na policję otrzymałem wezwanie jako świadka na przesłuchanie w związku z:

Art. 286. § 1. Kto, w celu osiągnięcia korzyści majątkowej, doprowadza inną osobę do niekorzystnego rozporządzenia własnym lub cudzym mieniem za pomocą wprowadzenia jej w błąd albo wyzyskania błędu lub niezdolności do należytego pojmowania przedsiębranego działania,
podlega karze pozbawienia wolności od 6 miesięcy do lat 8.

na wezwaniu było tylko: art. 286§1KK ale wujaszek G pomógł w odszyfrownaiu i domyśliłem się, że to chodzi o tę konkretną sprawę bo nic więcej wspólnego z policją nie mam. (kawałek bez suchych faktów) Skoro policja sama mnie wezwała a bank tego nie zgłaszał oznacza to, że nie jestem jedyny. Później zrobiło się głośno o tym wirusie o nazwie chyba Zeus tyle, że mój przypadek nie pasuje do opisu jego działania, chyba że mój Zeus był pracownikiem banku albo był programem na komputerze pracownika (i znowu suche fakty)

Dnia 01.02.2011 udałem się na przesłuchanie, zabrałem ze sobą odpowiednie dokumenty (potwierdzenie przelewu, numer aukcji itd.) w razie gdyby nie dotyczyło ono tej sprawy żebym mógł od razu zgłosić, ale się okazało że to ta sprawa dotyczy właśnie złamania zabezpieczeń bankowych i po wyjściu z przesłuchania stałem się już pokrzywdzonym w sprawie i powiedzieli mi, że nie muszę już tego zgłaszać.

Dnia 02.02.2011 otrzymałem od banku maila:

Szanowna/y Pani/e,

nawiązując do Pani/a reklamacji o numerze R…….., na wstępie bardzo przepraszamy za przedłużający się czas rozpatrywania Pani/a zgłoszenia. Sformułowanie przez Bank odpowiedzi wymaga podjęcia dodatkowych czynności wyjaśniających, co skutkuje przedłużeniem prac nad reklamacją. Zapewniamy jednak, że po dokonaniu wnikliwej analizy wszystkich poruszonych przez Panią/a zagadnień wyczerpująca odpowiedź zostanie do Pani/a wysłana, nie później niż w ciągu 30 dni od daty nadania niniejszej wiadomości.

Z poważaniem
Zespół mBanku

Żeby nie wplatać w suche fakty wulgaryzmów nie napiszę w tym akapicie nic więcej tylko z szacunku dla faktów.

Dzwoniłem potem do banku, żeby ich poinformować ich o mojej wizycie na policji i o tym, że to policja sama mnie wezwała. Oczywiście radziłem się na forum prawniczym za ich radą zadzwoniłem znów do banku i powołałem się na orzeczenia sądu najwyższego dotyczące tego, że bank musi sprawdzić czy dane osobowe się zgadzają z numerem rachunku ich sygnatury to:

Wyrok SN z dnia 19 marca 2004 r., IV CK 158/03
oraz 17 grudnia 2008 r. Sąd Najwyższy I CSK 205/08

Potem znów dzwoniłem czy coś się wyjaśniło ale nie mogą mnie do nikogo kto się tym zajmuje przełączyć, wszystko telefonicznie a chciałem do nich jakieś pismo czy coś.

Dzisiaj tj. 09.03.2011 zadzwoniłem czy coś się wyjaśniło bo minęło to zadeklarowane 30dni przedłużające termin rozpatrywania w tamtym mailu. Jak się okazało nic nie zostało rozpatrzone i nie ma nawet żadnych uwag do przekazania dla mnie od działu zajmującego się tą reklamacją. Pan z mlini powiedział że powinna już zostać rozpatrzona i skontaktował się z przełożonym a tamten ma to zgłosić do odpowiedniego działu.

A tak na koniec dodam że jest to przelew na kwotę 350zł. Dodam także, że w czasie wykonywania mojego przelewu mbank miał problem z przelewami zewnętrznymi:

Utrudnienia w realizacji przelewów zewnętrznych
Informujemy, że w chwili obecnej występują utrudnienia w realizacji przelewów zewnętrznych.
Pracujemy nad przywróceniem pełnej dostępności usługi.
Przepraszamy za utrudnienia.

Aktualizacja: 31 grudnia 2010 r., godz. 14:30
Informujemy, że została przywrócona pełna funkcjonalność serwisu.
Wszystkie przelewy zewnętrzne realizowane są poprawnie.
Przepraszamy za chwilowe utrudnienia.

Wiem, że to dzień po ale potwierdzenie przelewu mogłem wygenerować dopiero 03.01.2011 a dopiero możliwość wygenerowania oznacza zaksięgowanie go.

Przed moim przelewem tez były jaja z przelewami, a konkretnie podmiany danych (co idealnie pasuje do mojego):
Uwaga moja teoria: podczas naprawy tego zepsuli mój przelew

Zamieszanie zaczęło się po godz. 12.00, kiedy internetowy mBank – jedna z największych instytucji finansowych w Polsce, mająca ponad 2,5 mln klientów – zaczął księgować klientom pieniądze z porannej sesji przelewów. Okazało się, że część przelewów dotarła z błędnymi opisami. – Na moje konto przyszła kwota z zupełnie innymi danymi nadawcy i odbiorcy! – napisał nam pan Wojciech, klient mBanku.

http://wyborcza.biz/finanse/1,105684,8737731,Wielka_awaria_w_mBanku__Klienci_dostali_cudze_przelewy.html
(na innych stronach też o tym jest ale na stronie mbanku nie znalazłem)

Coś bliższego naszym czasom tj. 01.03.2011: (oczywiście w roli głównej mbank)

Zniknęły pieniądze z konta, bo źle podłączyli pełnomocnika
Zakładając konto w banku, możemy ustanowić pełnomocnika, który dzięki temu dostaje dostęp do naszego rachunku. Ale nie zawsze jest to bezpieczna operacja. Konto oszczędnościowe naszej czytelniczki zyskało pełnomocnika przez pomyłkę banku

http://wyborcza.biz/finanse/1,105684,9184887,Zniknely_pieniadze_z_konta__bo_zle_podlaczyli_pelnomocnika.html

Koszty połączeń z mlinią

Tak sobie postanowiłem podsumować wszystkie dodatkowe koszty jakie poniosłem w związku z dzwonieniem na mlinię:

  • 03.01.2011 – 00:08 min – 0,04 PLN
  • 03.01.2011 – 09:22 min – 2,72 PLN
  • 10.02.2011 – 01:58 min – 0,57 PLN
  • 10.02.2011 – 02:55 min – 0,85 PLN
  • 10.02.2011 – 12:21 min – 3,58 PLN
  • 21.02.2011 – 07:07 min – 2,06 PLN
  • 23.02.2011 – 09:44 min – 0,57 PLN
  • 09.03.2011 – 20:07 min – 5,83 PLN
  • 10.03.2011 – 17:33 min – 5,09 PLN
  • RAZEM: 0,04 + 2,72 + 0,57 + 0,85 + 3,58 + 2,06 + 0,57 + 5,83 + 5,09 = 21,31 PLN

Mam nadziej że nic nie pominąłem, nie chce mi się szukać w bilingach kiedy do mnie dzwonili.

09.03.2011 podczas tego telefonu na mlini powiedzieli, że reklamacja powinna już zostać rozpatrzona (bo nawet info o przedłużeniu czasu rozpatrywania nie wysłali) i że skontaktują się z kierownikiem żeby ten zgłosił to do odpowiedniego działu czy osoby, która się tym zajmuje

10.03.2011 to była prawie najdłuższa rozmowa i najmniej efektywna… większość czasu czekałem… okazało się, że panowie kierownicy mają spotkanie i to po parunastu minutach czekania – nic się nie dowiedziałem nowego

11.03.2011 sprawa zgłoszona ponownie do kierowników ponieważ poprzednio najprawdopodobniej nie była zgłoszona, tyle się na mlini dowiedziałem więc telefon z dnia 09.03.2011 była taki jakby go nie było a z dnia 10.03.2011 był zupełnie nie potrzebny nie tylko dlatego że czekałem 17 minut ale dlatego, że sprawa nie była zgłoszona

17.03.2011 tego dnia trafiłem na dziwny przypadek (za każdym razem kiedy dzwoniłem zarzekali się na mlini, że nie mogą mnie nigdzie przełączać ani do kierowników ani nigdzie a tym razem przełączyli do kogoś kto przyjmie moja dyspozycję) ponieważ przełączono mnie do kogoś ale na szczęście do kogoś ogarniętego, jak to zwykle bywa poszedł coś się zapytać (w porównaniu do innych czekałem z 7 minut a nie powyżej 10) a jak wrócił to zapewnił mnie, że ktoś kto się zajmuje reklamacją do mnie oddzwoni za 5 minut, pytałem się czy aby na pewno bo mu nie wierzę zarzekł się że tak. Stał się cud ktoś oddzwonił za mniej niż 5 minut…

Podczas rozmowy gdy w końcu ktoś do mnie zadzwonił z banku zapewniono mnie że dnia następnego tj. 18.03.2011 otrzymam informację na temat tego przelewu oraz informacje dotyczące zwrotu i decyzji banku. Miała być także informacja o przeprowadzeniu analizy logów. Oczywiście dnia następnego tj. 18.03.2011 kiedy to pracownik mlini się zobowiązał zadzwonić do mnie o godzinie 16 i wyjaśnić wszystko nie otrzymałem żadnego telefonu ze strony banku Potem się okaże że niby mieli problem z przekierowaniem jakimś, tyle że ja jakoś około 18 mogłem się dodzwonić na mlinię i złożyć skargę…poza tym mogli wysłać maila, że nie mogę się w dniu dzisiejszym skontaktować z powodów technicznych więc to wytłumaczenie do mnie nie trafia.

Dnia 18.03.2011 zadzwoniłem na mlinię około 18 (oni mieli do mnie zadzwonić o 16) i złożyłem skargę na tego pracownika który miał do mnie zadzwonić oraz na to że osoba odpowiedzialna za tę reklamację nie udzieliła mi wyczerpujących informacji nie później niż w ciągu 30dni (zgodnie z emailem jakim otrzymałem od banku). Rozmowa trwała dłuuugo.

21.03.2011 osoba która miała zadzwonić wtedy o tej godzinie 16 zadzwoniła i wytłumaczyła, że mieli problem z przekierowaniem (tłumaczyłem to wyżej) i na wejście się dowiedziałem, że bank nie podejmie decyzji zanim postępowanie na policji nie zostanie zakończone – moja opinia: mnie gówno obchodzi jakieś tam postępowanie, pełną odpowiedzialność za ten przelew ponosi bank i o ile się nie mylę bank nawet nie jest strona w tej sprawie… koniec opini – i skończyło się na tym, że nic się nie dowiedziałem ale za to dostanę pismo z odpowiedziami na moje pytania – będą dzwonić kiedy przygotują i wyślą to pismo

22.03.2011 (wtorek) pismo ma zostać wystosowane do końca tygodnia więcej informacji dla mnie nie mają, poinformują mnie tylko kiedy zostanie wysłane pismo. Na pytanie czy reklamacją została rozwiązana odpowiedź brzmiała, że wszystko będzie zawarte w tej pisemnej odpowiedzi. Padło też zdanie, że będę mógł się odwołać do tego pisma więc podejrzewam, że odrzucili moją reklamację. Pytanie: Czy reklamacja została uznana? Odpowiedź: Nie mam informacji, wszystko będzie w piśmie…

Ciąg dalszy nastąpi….

To na tyle…

To nie suchy fakt albo i: To są jakieś jaja… toszto bank to jedyna instytucja której powinniśmy móc ufać jeżeli chodzi o finanse bo nawet rodzina jeżeli rozchodzi się o pieniądze to byłaby pierwsza do oskubania nas bo to rodzina przecież im się należy bo to rodzina (tu powinno być słowo na k)…

WordPress 2.8.6

Ta aktualizacja WordPress 2.8.6 rozwiązuje dwa problemy z bezpieczeństwem, które mogą zostać wykorzystane przez zarejestrowanych użytkowników, zalogowanych użytkowników posiadających uprawnienia do tworzenia wpisów. Jeśli masz niezaufanych współtwórców WordPress aktualizacja jest szczególnie zalecana.

Pierwszy problem to luka XSS odkryty przez Benjamina Flescha natomiast drugi odkryty przez Dawida Golunskiego, który pozwalał na wykonanie kodu php w uploadowanych plikach o specjalnej nazwie tylko przy określonej konfiguracji Apache. Podziękowania dla Benjamina i Dawida, że znaleźli powyższe problemy i je zgłosili.

Pozostaje nam czekać na WordPress 2.9 i łatać dotychczasowe wersje WordPress lub może pod choinkę dostaniemy WordPress 3, nie wiadomo…

WordPress 2.8.5

WordPress

Jak już kurwa pisałem wordpress 2.8.5 poprawka bezpieczeństwa zaczynałem myśleć iż szatańska przepowiednia się by nie ziściła…

Jak wiecie w ciągu kilku ostatnich miesięcy pracujemy nad nowymi funkcjami w WordPress 2.9. Pracujemy także nad tym by WordPress był tak bezpieczny jak to możliwe, a podczas testów stwierdziliśmy iż niektóre poprawki bezpieczeństwa są wymagane w wersji 2.8 po to aby ją ulepszyć i uzyskać jak największe bezpieczeństwo.

Zasadnicze zmiany w tej wersji to:

  • Poprawka Trackback Denial-of-Service Attack jest aktualnie
  • Usuniecie obszarów kodu PHP, który był wywoływany ze zmiennych
  • Wysyłanie plików jest dostępne dla wszystkich użytkowników z białej listy włączając w to Administratorów
  • Przywrócenie dwóch importerów tagów ze starych wtyczek

Serdecznie polecam aktualizację wszystkich stron opartych o WordPress w celu zapewnienia jak największej ochrony i bezpieczeństwa.

Jeśli myślisz, że twoja strona mogła zostać zaatakowana przez jednego z grasujących exploitów i chcesz się upewnić czy usunąłeś wszelkie ślady po nim możesz skorzystać z WordPress Exploit Scanner. Jest to plugin przeszukujący pliki twojej strony internetowej, wpisy oraz komentarze jak i tabele w bazie danych w celu znalezienia czegokolwiek podejrzanego. Analizuje on również listę aktywnych wtyczek o nietypowych nazwach. Możesz przeczytać więcej o wtyczce WordPress Exploit Scanner na stronie: http://ocaoimh.ie/exploit-scanner/

Windows Enabler

Opis:

Windows Enabler jest to program działający w systemie Microsoft Windows 95/98/Me/NT4.0/2000 i WinXP. Uaktywnia on okna i kontrolki, takie jak przyciski i pola wyboru oraz menu wyboru, które zwykle są wyłączone. To są oczywiście niebezpieczne praktyki, jeśli Windows Enabler jest używany lekkomyślnie, ale możesz być zaskoczony jak często są przydatne. Windows Enabler ma bardzo prosty interfejs użytkownika, pojawia się jako ikona w zasobniku systemowym (obok zegarka systemowego) i może być włączany i wyłączany po prostu poprzez klikanie na tę ikonkę. Windows Enabler może być dowolnie dystrybuowany tak długo, jak cały pakiet (lub rozszerzenie) jest rozpowszechniany w niezmienionej formie.

Instalacja:

Windows Enabler jest to bardzo proste narzędzie i nie jest dostarczana wersja instalacyjna programu. Proces instalacji jest prosty, wystarczy skopiować dwa pliki (Windows Enabler.exe i EnablerDLL.dll) gdzieś w systemie i uruchomić Windows Enabler.exe, aby włączyć program. Możesz utworzyć skrót do Windows Enabler.exe w grupie Autostart, dzięki temu Windows Enabler będzie zawsze dostępny! Windows Enabler nie tworzy żadnych wpisów w rejestrze ani nie wykorzystuje żadnych plików danych więc odinstalowanie jest realizowane przez samo usunięcie jego plików (Windows Enabler.exe i EnablerDLL.dll).

Korzystanie z Windows Enabler:

Aby uruchomić Windows Enabler należy zainicjować plik Windows Enabler.exe, najprostszą drogą do tego jest umieszczenie skrótu do niego gdzieś w systemie, takich jak pulpit, menu start lub Uruchamianie listy programów. Gdy Windows Enabler działa powinniśmy ujrzeć jedną z następujących ikon w zasobniku systemowym: windows enabler off lub windows enabler on. Aby wyłączyć Windows Enabler należy kliknąć prawym przyciskiem myszy na ikonę i wybrać Quit z menu kontekstowego. Aby wyświetlić informacje o programie kliknij prawym przyciskiem myszy na ikonę i wybierz opcję About z menu kontekstowego. Kliknięcie lewym przyciskiem myszy włącza Windows Enabler lub wyłącza. O tym iż Windows Enabler jest aktywny i działa informuje nas ikona z wyświetlonym napisem On windows enabler on.

Download: Windows Enabler 1.1

O co chodzi z latin1 i dlaczego działają w nim polskie znaki

latin1

Kodowanie ISO/IEC 8859-1 znane pod nazwami takimi jak zachodnioeuropejskie Latin-1 latin1 oraz ISO-8859-1, obojętnie jakiej nazwy użyjemy zawsze chodzi o to samo kodowanie. Ważna zasada, której się trzymajmy i którą wyjaśnię:

kodowanie latin1, ISO-8859-1 nie obsługuje polskich znaków ani nie istnieją one w tym kodowaniu

Polskie znaki jednak jakimś cudem działają, bardzo prosto da się to wyjaśnić: w tym kodowaniu nie ma polskich znaków, ani polskie znaki w nim nie istnieją. Ale jednak jakimś cudem działają… Otóż działają dzięki temu, że wszystkie kodowania z rodziny ISO-8859 są ze sobą zgodne Konwersja z CP-1250 na utf8 – Convert from CP-1250 to utf8.

Bardziej łopatologicznie, mamy stronę w kodowaniu ISO-8859-2 (to kodowanie obsługuje polskie znaki) więc wysyłamy przykładowo ciąg polskich znaków: ą,ć,ę,ł,ń,ó,ś,ź,ż,Ą,Ć,Ę,Ł,Ń,Ó,Ś,Ź,Ż lecz należy pamiętać iż nasz serwer mysql, baza danych oraz tabele jak i kolumny korzystają z kodowania latin1 (najczęściej z porównaniem znaków ustawionym na latin1_swedish_ci) więc powyższy ciąg zostanie zastąpiony krzakami ±,æ,ê,³,ñ,ó,¶,¼,¿,¡,Æ,Ê,£,Ñ,Ó,¦,¬,¯, i niestety po zapisie w bazie mamy krzaczki zamiast polskich znaków Konwersja z ISO-8859-1 na UTF-8 – Convert from ISO-8859-1 to UTF-8.

Lecz należy pamiętać, iż jest o wiele więcej znaków specjalnych, które są zamieniane na krzaczki nie mające nic wspólnego z oryginalnymi znakami.

Ten problem z kodowaniem dotyczy głównie baz mysql, jeśli nie tylko baz. Dlatego zrobiłem konwerter, który przywraca polskie znaki w kopiach baz danych zapisanych za pomocą phpMyAdmin (ponieważ phpMyAdmin zapisuje wszystkie kopie baz danych w kodowaniu UTF-8).

Jeśli kopia została wykonana za pomocą phpMyAdmin lub innego skryptu który koduje kopie baz w UTF-8, a sama baza danych pracuje w kodowaniu latin1 to zrobiłem konwerter Konwersja z latin1 na latin2 – Convert from latin1 to latin2, zamienia krzaczki z takiej kopii na polskie znaki w kodowaniu ISO-8859-2 (przy imporcie takiego pliku należy wybrać z listy latin2) oraz Konwersja z latin1 na utf8 – Convert from latin1 to utf8 który zamienia znów krzaczki w kopii na polskie znaki, tym razem w kodowaniu UTF-8 (przy imporcie wybieramy utf8 z listy).

Należy także pamiętać by w pliku z kopią bazy danych po konwersji z latin1 na latin2 w pliku z kopią zmodyfikować linijki:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

na:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES latin2 */;

Przy konwersji z latin1 na utf8 ten zabieg jest zbędny! Przy imporcie za pomocą linii komend także należy podać właściwe kodowanie.

W skrócie, jeśli polskim znakom w twojej kopi bazy odpowiadają krzaczki takie jak w tabelce niżej, to po eksporcie, ten konwerter naprawi twoja bazę. (jeśli miałeś kodowanie latin1) Konwersja z Windows-1250 na ISO-8859-2 – Convert from Windows-1250 to ISO-8859-2

HEXlatin2latin1
b1ą±
e6ćæ
eaęê
b3ł³
f1ńñ
f3óó
b6ś
bcź¼
bfż¿
a1Ą¡
c6ĆÆ
caĘÊ
a3Ł£
d1ŃÑ
d3ÓÓ
a6ڦ
acʬ
afݝ

Oraz wywołanie zapytania:

SHOW VARIABLES LIKE 'character_set%';

powoduje wyświetlenie wyników podobnych do tych:

character set clientlatin1
character_set_connectionlatin1
character set databaselatin1
character_set_resultslatin1
character_set_serverlatin1
character_set_systemlatin1

jak i tego:

SHOW VARIABLES LIKE 'collation%';

do tych:

collation_connectionlatin1_swedish_ci
collation_databaselatin1_swedish_ci
collation_serverlatin1_swedish_ci

Oznacza to że w bazie masz kraczki, zamiast właściwych znaków. Należy także pamiętać o ustawieniu właściwego kodowania dla tabel, bazy jak i połączenia z mysql, opisałem to ISO-8859-1 latin1 ISO-8859-2 latin2 Windows-1250 cp-1250 UTF-8 utf8 i jest tam zawarte jak wgrać bazę by przyjęła kodowanie ustawione wcześniej jak i ustawienie kodowania dla połączenia z mysql.

Pragnę przypomnieć, że konwerter kodowania obsługuje całe 167 znaków z kodowania iso-8859-2 zapisane w krzakach z latin1 a nie tylko polskie znaki!

ISO-8859-1 latin1 ISO-8859-2 latin2 Windows-1250 cp-1250 UTF-8 utf8

ISO-8859-1 latin1 ISO-8859-2 latin2 Windows-1250 cp-1250 UTF-8 utf8

Głęwiem wstępu intotrintorestycznego do convertera dodałem nowe tablice dla kodowania latin1, w którym polskie znaki są zapisane jako krzaczki, krzaki. Otóż konwersja z kodowania ISO-8859-1, w którym nie istnieją polskie znaki, jest jedynie dla kopii baz danych w pliku wykonanych za pomocą phpMyAdmin czyli plików kopii zapisanych w kodowaniu UTF-8 (w tym kodowaniu phpMyAdmin eksportuje bazę danych do pliku). Poprzednie tablice obsługiwały tylko i wyłącznie polskie znaki, co niestety nie służyło polepszeniu stosunków z innymi narodowe znaki i osobami wykorzystujące te znaki diakrytyczne. Teraz tablice obsługują wszelkie znaki (wszelkie języki) które są w kodowaniu ISO-8859-2 Konwersja z latin1 na utf8 – Convert from latin1 to utf8.

  • Polski
  • Bośniacki
  • Chorwacki
  • Czeski
  • Węgierski
  • Serbski (w transkrypcji łacińskiej)
  • Serbsko-Chorwacki
  • Słowacki
  • Słoweński
  • Górnołużycki
  • Dolnołużycki
  • Angielski
  • Niemiecki
  • sporną kwestią jest język Fiński

Dla porównania, poprzednie tablice do konwersji na utf-8 zawierająca tylko 18 polskich znaków natomiast aktualne zawierają wszystkie znaki dla wszystkich języków i znaków specjalnych zawierająca wszystkie istniejące znaki w tym kodowaniu – 167 znaki.
Teraz po konwersji z latin1 bez problemu można konwertować – wszelkie znaki będą działać!

Kodowanie znaków

Kodowanie znaków
Polega na zapisie znaków w celu ich późniejszego odczytania w tym samym kodowaniu. W skrócie, zapisujemy dane w jednym kodowaniu i następnie by je poprawnie odczytać należy odczytać w tym samym kodowaniu a którym je zapisaliśmy. Zapisujemy w kodowaniu utf-8 i odczytujemy w utf-8. Jeśli odczytamy w innym to pojawia się nam krzaki zamiast oczekiwanych znaków. Różne kodowania obsługują różne znaki, najczęściej nieobsługiwane znaki w danym kodowaniu są zamieniane na znaki zapytania.

Pragnę przypomnieć: w kodowaniu latin1 polskie znaki są zapisane jako krzaki, i po konwersji z kodowania latin1 do ISO-8859-2 lub UTF-8 na stronie Konwersja z latin1 na latin2 – Convert from latin1 to latin2, krzaki zapisane w bazie przemieniają się w polskie znaki (znaki diakrytyczne, narodowościowe, narodowe). Polskie znaki są zapisywane jako krzaki najczęściej na serwerach na których jest domyślna konfiguracja serwera mysql, wyglądająca następująco, konfigurację poznamy wykonując kolejno zapytania:
kodowanie mysql

SHOW VARIABLES LIKE 'character_set%';

domyślna konfiguracja serwera mysql:

character set clientlatin1
character_set_connectionlatin1
character set databaselatin1
character_set_resultslatin1
character_set_serverlatin1
character_set_systemlatin1

porównywanie mysql

domyślne porównania serwera mysql

SHOW VARIABLES LIKE 'collation%';
collation_connectionlatin1_swedish_ci
collation_databaselatin1_swedish_ci
collation_serverlatin1_swedish_ci

Jeśli twoje ustawienia są takie jak powyżej, a działają Ci polskie znaki to oznacza, że nie masz polskich znaków a jedynie krzaczki w bazie danych w kodowaniu latin1 Konwersja z ISO-8859-2 na UTF-8 – Convert from ISO-8859-2 to UTF-8 tak naprawdę mamy mnóstwo krzaków zamiast polskich znaków…

Naprawa krzaczków polskich znaków to zrobienie backupu bazy i konwersja za pomocą konwerter kodowań z latin1 na dowolne inne, należy pamiętać,że przy wgrywaniu takiej przekonwertowanej kopii należy wybrać to samo kodowanie na które przekonwertowaliśmy naszą kopię bazy, należy pamiętać o wybraniu zgodności mysql40 Konwersja z UTF-8 na ISO-8859-2 – Convert from UTF-8 to ISO-8859-2, oraz przed wgraniem należy ustawić kodowanie dla bazy by wgrywane tabele ze zgodnością mysql40 przyjęły właściwe kodowanie (ustawiamy także to samo na które przekonwertowaliśmy bazę) za pomocą zapytania:

ALTER DATABASE nazwa_bazy DEFAULT CHARACTER SET nazwa_kodowania COLLATE porównanie_znaków_dla kodowania;

dla kodowania latin2 będzie to wyglądać tak:

ALTER DATABASE nazwa_bazy DEFAULT CHARACTER SET latin2 COLLATE latin2_general_ci;

dla kodowania utf8:

ALTER DATABASE nazwa_bazy DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Teraz po takim ustawieniu, wszelkie tabele wgrywane ze zgodnością z mysql40 przyjmą kodowanie jakie ustawiliśmy dla bazy danych. Następnie aby je poprawnie odczytać ustawiamy odpowiednie kodowanie za pomocą SET NAMES oraz aby poprawnie wyświetlić ustawiamy odpowiednią definicję kodowania w pliku HTML. Od tej pory w naszej bazie danych istnieją polskie znaki.

Kolejna informacja: latin1 to to samo kodowanie co ISO-8859-1 tylko, że pod inną nazwą. Tak samo jest z latin2, jest to to samo kodowanie co ISO-8859-2. Są to odmienne nazwy, można ich używać zamiennie, zależy także od zastosowania, uproszczone nazwy najczęściej są wykorzystywane w bazach SQL MYSQL

SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'

a ich dłuższe odpowiedniki na stronach w definicji kodowej HTML. Przykładowo dla treści typu text/html oraz kodowania utf-8

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

SET NAMES ‘charset_name’ COLLATE ‘collation_name’

Otóż w każdym skrypcie w jakim łączymy się z mysql powinniśmy tuż po połączeniu z bazą danych ustawić kodowanie i porównanie z jakiego będziemy korzystać. To jest tak samo jak definicja kodowania w dokumencie HTML / XHTML, jeśli nie ustawimy to zdajemy się na wartości serwera, co często jest opłakane w skutkach na przykład będziemy próbować zapisać tekst zakodowany w utf-8 do bazy w kodowaniu latin2 Konwersja z latin2 na utf8 – Convert from latin2 to utf8, życzę powodzenia…

SET NAMES 'charset_name'

Otóż SET NAMES ustawia 3 parametry na raz z których będzie korzystać nasze połączenie z bazą, w miejsce charset_name wstawiamy nazwę kodowania w formacie odpowiednim dla MYSQL (kiedyś może zrobię listę), a te trzy parametry to:

character_set_client
character_set_results
character_set_connection
character_set_client
Ustawia kodowanie dla klienta
character_set_results
Ustawia kodowanie dla wyników zapytań
character_set_connection
Ustawia kodowanie dla połączenia

Konwersja z utf8 na latin2 – Convert from utf8 to latin2
I te 3 ustawienia konfigurujemy za pomocą jednego SET NAMES. Dochodzi jeszcze porównywanie połączeń (collate, collation) które ustawiamy poprzez dodanie drugiego parametru do SET NAMES, wygląda to tak:

SET NAMES 'charset_name' COLLATE 'collation_name'

Porównywanie to w dużym skrócie sortowanie wyników wedle wybranego kodowania (na przykład przy wybraniu utf8_polish_ci wyniki będą sortowane zgodnei z polskim alfabetem – alfabetycznie). Za charset_name wstawiamy nazwę kodowania a za collation_name wstawiamy nazwę porównywania. Parametr COLLATE ustawia 2 parametry na raz:

collation_connection
collation_database

Konwersja z Windows-1250 na UTF-8 – Convert from Windows-1250 to UTF-8

collation_connection
porównywanie znaków dla połączenia
collation_database
porównywanie znaków dla bazy danych

Informacje o dawno zapomnianym koderku https://tosiek.pl/koderek/, oczywiście to wszystko dotyczy konwerter.