Smajlíci v databázi

Vyřešeno2.44K 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í 🙂 => 😀.

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

Dobrý den,

ano, znaková sada utf8mb4 je vhodná k ukládání smajlíků. Po změně znakové sady databáze, tabulek i sloupců je potřeba do tabulky uložit text se smajlíky znovu. Pokud jste pouze změnil znakovou sadu a ponechal původní data, tak to fungovat nebude, protože znaky smajlíků byly znehodnoceny tím, že tam byla původně nastavená jiná znaková sada.

Také se ujistěte, že script, který do databáze data ukládá, pracuje se znakovou sadou utf8. Stránka, která data zobrazuje, rovněž musí pracovat se znakovou sadou utf8 (popřípadě jinou, která ovšem musí smajlíky podporovat).

Nakonec je potřeba poznamenat, že některé smajlíky nemusí umět správně vykreslit ani samotný operační systém, protože je nemusí obsahovat znaková sada, kterou OS používá.

Role: Podpora
FH140428 Odpověděl na otázku 9. 7. 2019
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.