Změna formátu MySQL z utf8 na utf8mb4? phpMyAdmin

Máte problémy s instalaci phpBB3 nebo s konverzi z phpBB2 na phpBB3? Zde naleznete pomoc.
Pravidla fóra
Čim více informací poskytnete ve vašem dotazu, tim vyšší je šance, že se vám dřív dostane přesné odpovědi. Uveďte odkaz na vaše fórum, používané rozšíření a styly a zkuste sepsat úpravy na fóru za poslední týdny. Nezapomeňte uvést výstižný titulek tématu.
Odpovědět
SGvagon
Příspěvky: 13
Registrován: sob 02. kvě 2020 19:17:22

Změna formátu MySQL z utf8 na utf8mb4? phpMyAdmin

Příspěvek od SGvagon » pon 14. říj 2024 8:22:07

Zdravím,

všiml jsem si, že na mém fórum nelze psát do témat Emoji (SQL Error) . Našel jsem tento návod, který mi je zpřístupnil v příspěvcích https://www.phpbb.com/community/viewtopic.php?t=2340251 , tzn. předělání utf8 na utf8mb4 v phpbb_posts na post_text .

Bylo by možné nějak předělat celou databázi na utf8mb4 aniž bych někde udělal nějako závažnou chybu? V phpMyAdmin na záložce úpravy je ve spodní části možnost předělat databázi na jiné formátování, nicméně netuším co všechno mám zafajfkovat, aby fórum stále fungovalo.
phpMyAdmin_porovnani.png
phpMyAdmin_porovnani.png (8.29 KiB) Zobrazeno 48 x
Předem děkuji za odpověď. 😶 😕 .
Naposledy upravil(a) SGvagon dne úte 15. říj 2024 13:32:12, celkem upraveno 1 x.

SGvagon
Příspěvky: 13
Registrován: sob 02. kvě 2020 19:17:22

Re: Změna formátu MySQL z utf8 na utf8mb4? phpMyAdmin

Příspěvek od SGvagon » úte 15. říj 2024 10:13:13

Tak asi vyřešeno ruční úpravou databáze pomocí SQL příkazů. Zde jsem našel seznam, který se trochu lišil od mé databáze, tak jsem odebral a přidal položky, které v mé databázi jsou a aplikoval změny https://www.phpbb.com/community/viewtop ... #p14023271 :-) .

Výše uvedená funkce na screenshotu bohužel nefungovala, vždy se zasekla u velké phpbb_config tabulky s chybou #1071 Max key lenght is 1000 bytes.

Ještě jsem následně musel opravit Fulltext mysql vyhledávání, které vyhledávalo ještě v utf8 tabulkách v databázi a tudíž končilo opět SQL chybou. Tzn. v souboru includes/search/fulltext_mysql.php upravit řádky:

757

Kód: Vybrat vše

$alter[] = 'MODIFY post_subject varchar(255) COLLATE utf8_unicode_ci DEFAULT \'\' NOT NULL';
na

Kód: Vybrat vše

$alter[] = 'MODIFY post_subject varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT \'\' NOT NULL';

770

Kód: Vybrat vše

$alter[] = 'MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL';
na

Kód: Vybrat vše

$alter[] = 'MODIFY post_text mediumtext COLLATE utf8mb4_unicode_ci NOT NULL';
Hotovo :-) . Emoji i vyhledávání již funguje v celém Phpbb forum ;-) .

Odpovědět