Opravdu nás jednoho dne překvapilo, když jsme u jednoho ze článků psaném na mobilu zkusili přidat
smajlíka /
Emoji .
Vyskočila na nás
SQL chybová stránka a nikdo nevěděl proč. Už jsme se obávali, že na stránky někdo útočí nebo se něco stalo se samotnou databází stránek!
Než jsme přišli na to, že to dělá právě přidané
Emoji na mobilním telefonu, tak jsme byli hodně ve stresu a opravdu si trhali vlasy hlava nehlava.
Naštěstí jsme nebyli sami a zjistili přesnou příčinu problému, proč právě znaky
Emoji vyhazují
SQL chybu s databází. Toto fórum jsme zakládali již v roce
2015 a autoři
phpBB jednoduše nepočítali, že se začnou používat na světě znaky, se kterými si databáze postaveny na znakové sadě
UTF-8 prostě neporadí (už v době založení stránek jsme použili starší verzi
3.0.12 , která vyšla již koncem září roku
2013 ) .
Museli jsme tedy všechny tabulky v
MySQL databázi obsahující text předělat na moderní znakovou sadu
UTF8mb4 .
Samozřejmě to nešlo tak jak bychom očekávali a několikrát jsme museli celou databázi nahrávat ze zálohy, jelikož se při některých z pokusů rozházely české znaky s diakritikou nebo se rozbila funkce vyhledávání na webu.
Ano, i jednoduchá věc jako je
vyhledávání se může při konverzi znakové sady podělat! Pro tabulku s indexací slov se nesmí použít
utf8mb4_unicode_ci ale
utf8mb4_bin , jinak se při indexování slov zapíše přibližně pouhá třetina z celkového množství.
Nicméně se nakonec vše zadařilo a nyní již můžete posílat zprávy i se znaky Emoji
🙂 😀 . Určitě by bylo lepší stránky aktualizovat na novější verzi
phpBB , ale používáme zde takové množství
doplňků a úprav přímo
zdrojových souborů , že to jednoduše není možné, bohužel. Ale snažíme se všechny nedostatky doplňovat, aby byl web alespoň trochu moderní.