![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na klasycznym forum PHPBB które użytkuję pojawił się problem, którego nawet nie potrafię dobrze zdefiniować, więc z góry przepraszam jeśli jest źle opisany lub umieszczony lub się powtarza.
Użytkownik wysyłał wiadomość prywatną do innego użytkownika i przy wysyłaniu otrzymywał komunikat o błędzie serwera - wywalało całą stronę SQL ERROR [ mysql4 ] Incorrect string value: 'ðpr...' for column 'message_text' at row 1 [1366] Wystąpił błąd bazy danych podczas pobierania tej strony. Jeśli problem będzie się powtarzał, skontaktuj się z administratorem. Okazało się że stronę przeglądał na telefonie i wprowadzał do wiadomości emotki generowane przez telefon. W rezultacie we frazie "ðpr..." między znakami "ð" oraz "p" były jeszcze trzy niewidoczne znaki, wyświetlane dopiero przy ręcznym przeniesieniu frazy do enkodera UTF, Znaki te miały postać domyślnych prostokącików. ð∟∟∟pr... \xC3\xB0\xC2\x9F\xC2\x98\xC2\x89\x70\x72\x2E\x2E\x2E Jak widać pierwszy znak i trzy niewidoczne mają podwójny kod. (nawet nie mogę ich wkleić tutaj bo przy podglądzie znikają, dlatego są symulowane przez znak ∟) Ja nawet nie bardzo rozumiem na czym polega ten problem, a co dopiero wymyślić jak się przed nim zabezpieczyć EDIT: zaznaczam że tabela i kolumna mają metodę porównywania znaków utf8_polish_ci Ten post edytował Dopler 27.03.2019, 10:49:33 -------------------- Genealogia Polaków
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:51 |