Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Problem z kodowaniem znaków w bazie danych

Założony przez  Daniel Praźmo.

PHP: 5.2.17
SQL: MySQLi 5.0.92
Wersja PHPMyAdmina: 3.4.10.1

Problem dotyczy dokładniej tabel skryptu Collabtive.
Początkowo tabele były kodowane w utf8_swedish_ci, jednak powodowało to pewnego rodzaju błędy z polskimi znakami przy zawijaniu nazw ticketów, dlatego zamieniłem kodowanie tabel i całej bazy na utf8_general_ci i wszystko działało dobrze.
Problem jednak wystąpił po przenosinach na nowy serwer. Po wgraniu kopii zapasowej bazy danych, znaczki się rozsypały, a po próbie ich ręcznego wpisania w bazie danych otrzymuję alert:
Warning: #1366 Incorrect string value: '\xC5\x84' for column 'subtitle' at row 1
Zarówno metoda porównywania znaków w bazie jak i kodowanie tabel to utf8_general_ci.
:: Akcja DZIĘKUJĘ ZA POMOC ::
Pomocy udzielam jedynie na forum. Wszystkie rzeczy wykraczające poza tą dziedzinę wykonuję odpłatnie.
Od samego początku jest taka metoda porównywania znaków na bazie, czy zmieniłeś ją dopiero po zauważeniu problemu?
Zmieniłem ją ręcznie, ale jeszcze przed wgraniem kopii.
:: Akcja DZIĘKUJĘ ZA POMOC ::
Pomocy udzielam jedynie na forum. Wszystkie rzeczy wykraczające poza tą dziedzinę wykonuję odpłatnie.
No to w zasadzie dziwna sprawa. Sprawdzałeś, czy dorzucenie do skryptu zaraz po połączeniu z bazą SET NAMES UTF-8 coś daje?
Nie, bez zmian.
Żeby nie było, sama strona ma dobre kodowanie, bo polskie znaki z plików językowych wyświetlają się w porządku.

@edit
Dobra, znalazłem winowajcę. Mimo, że tabele same w sobie miały kodowanie utf8_general_ci, to po wejściu w strukturę wszystkie wpisy miały ustawione latin_swedish_ci.
:: Akcja DZIĘKUJĘ ZA POMOC ::
Pomocy udzielam jedynie na forum. Wszystkie rzeczy wykraczające poza tą dziedzinę wykonuję odpłatnie.



Użytkownicy przeglądający ten wątek:

1 gości