Smajlíci v databázi

Vyřešeno2.45K zhlédnutíWebhosting
1

Dobrý den,

rád bych se zeptat jak v databázi uchovávat smajlíky, na internetu jsem se dočetl že pomoci utf8mb4.

Tak jsem změnit databázi, tabulky a i dané sloupce na utf8mb4, ale stále se mi místo smajlíků ukazují otazníky.

Děkuji.

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
MP220146 Vybral nejlepší odpověď 10. 7. 2019

Jaký máte důvod uchovávat znak smajlíka přímo v databázi?
Já osobně používám png obrázek a PHP str_replace s dvěma poli, jedno pro textový smajl ( :), 😀 ) a druhá přímo pro HTML tag img s cestou daného smajla, všichni vidí to samé.
Dle náročnosti na stránce používám funkci smajluj buď při ukládání a nebo naopak text nechávám původní a smajluju až při výpisu.

Je to nejjednodušší způsob. Nepotřebuji vymýšlet žádné další skripty pro nahrazení 🙂 => 😀.

4
FH140428 986 - WEDOS Internet, a.s. 0 Comments

Dobrý den,

znaková sada nastavená pro character_set_result by to neměla způsobovat. Ještě mě napadlo, že možná používáte starou verzi PMA na adrese https://pma-old.wedos.net/. V této verzi PMA Vám to fungovat nebude. Je potřeba použít PMA v novější verzi, která je dostupná na adrese: https://pma.wedos.net/4.4.15/

Testoval jsem to na standardní webhostingové DB se stejným nastavením znakových sad, jako uvádíte na obrázku výše a ukládání smajlíků funguje v pořádku.

Při spojení k DB v nějakém scriptu je potřeba před zápisem nebo výpisem na výstup nastavit znakovou sadu pro spojení s DB také na „utf8mb4“. V PHP to uděláte například pomocí tohoto příkazu: https://www.php.net/manual/en/mysqli.set-charset.php

Role: Podpora
MP220146 Vybral nejlepší odpověď 10. 7. 2019
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.