[AJAX] Problem z polskimi znakami zapisywanymi do bazy

0

Cześć,

Wiem że temat był wałkowany bardzo dużo w internecie, ale rozwiązania mojego problemu nie znalazłem. Wysyłam POST'em ciąg znaków:

~!@#$%^&*()_+[]\;',./ĘÓĄŚŁŻŹĆŃęóąśłżźćń

,który przez funkcję escape() w JS zamieniany jest na:

%7E%21@%23%24%25%5E%26amp%3B*%28%29_+%5B%5D%5C%3B%27%2C./%u0118%D3%u0104%u015A%u0141%u017B%u0179%u0106%u0143%u0119%F3%u0105%u015B%u0142%u017C%u017A%u0107%u0144

Strona kodowana jest UTF-8, na bazie danych mam ustawioną stronę kodową:

SET CHARACTER SET utf8``

Kolumna jest także utf8_general_ci. Niestety to co mi się zapisuje wygląda tak:

~!@#$%^&*()_ []\;',./%u0118

Poproszę Was o pomoc, ewentualnie linki w których znajdę żywe rozwiązanie problemu.

Pozdrawiam,
Grzegorz

0

encodeURIComponent jest lepsze w tych celach, poza tym nie masz w bazie pola typu varchar(32) ? Bo dziwnym jest że zapisuje tylko do %u0118.

Sprawdź też jeszcze set names utf8. No i sprawdź czy po stronie serwera nie jest przypadkiem coś zepsute ( np. wyświetl sobie zapytanie )

1 użytkowników online, w tym zalogowanych: 0, gości: 1