SQLSTATE[HY000]: General error: 1366 Incorrect string value

motorcb
Člen | 552
+
0
-

Zdravím,

padá mi aplikace při vkládání záznaml do DB. Konkrétně:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‚\xF0\x9F\x98\x82‘ for column ‚msg‘ at row 1

INSERT INTO `messages` (`msg`, `date`, `date_insert`, `filter_id`)
VALUES (?, '2018-12-23 16:11:51', '2018-12-23 17:11:51', ?)

https://i.ibb.co/…-problem.png

Dazabáze a tabulky jsou v kódování utf8mb4_czech_ci
Pokud pustím INSERT dotaz přímo do DB, projde:

INSERT INTO `messages` (`msg`, `date`, `date_insert`, `filter_id`)
VALUES ('\xF0\x9F\x98\x82', '2018-12-23 16:11:51', '2018-12-23 17:11:51', 1)

Kde bych mohl mít problém?
Nejnovější Nette 3.0

JZechy
Člen | 161
+
+1
-

@motorcb Ty znaky vypadají na emoji, nedávno jsem řešil podobnou věc, a pro emoji musíš mít cilové sloupce v utf8mb4_bin.

chemix
Nette Core | 1310
+
0
-

Ahoj jedes na jake platforme? Jake sql? Maria? Mysql? Verze? System?

Me emoji bez problemu funguji na utf8mb4_czech_ci

Jan Tvrdík
Nette guru | 2595
+
0
-

Taky je potřeba nastavit správně connection encoding.

motorcb
Člen | 552
+
0
-

Chlapi, chyba u mne, spletl jsem tabulky. U na jednom ze sloupců opravdu nebylo utf8mb4_czech_ci. utf8mb4_czech_ci na emoji stačí.
Vyřešeno. Díky

n.u.r.v.
Člen | 485
+
0
-

Ahoj, mě se to občas taky vyskytne. Máme web s testy pro žáky, takže tam občas hodí i takovéhle blbosti. Jak nejlépe to odfiltrovat? díky