Chyby v instalaci PHP Fusion verze 7.02.07 na localhost
Přidal limlejn dne 28.10.2018 23:40
Poslední verze PHP fusion 7, která je k dispozici, při instalaci na 127.0.0.1 server EasyPHP 16 blbne. Samotná instalace systému sice po zadání nezbytných informací proběhne úspěšně, fungující stránky možná potěší, ale nahlédnutím pod pokličku...do mysql databáze zjistíme, že záznamy v db tabulkách mají totálně zmršenou diakritiku.


Pro běžného uživatele chybička snadno přehlédnutelná (naoko to funguje), ale k problémům může dojít, když celý web budujete na localhostu a poté jej chcete přesunout na nějaký webhosting a ten, jak zákon schválnosti káže, jede trochu jinak než ten váš server na localhostu.
Co s tím ?
Díky možné lokalizaci do stovek jazyků je celý kód systému trochu nepřehledný, české prostředí a diakritka ( rozumějme háčky a čárky) dělají tuny problémů odjakživa. Nástupem znakové sady utf-8 se problémy téměř minimalizovaly, ale je potřeba trochu doladit stávající kód samotné instalace (setup.php) tak, aby již zápis do databázových tabulek proběhl ve správném kódování (bez zmršených znaků) a následné načítání stránek bylo též v pořádku.

Aby při instalaci PHP Fusion 7 na server nebyly texty v tabulkách zmršené je třeba přidat do souboru setup.php řádek asi přibližně 1518 do funkce dbconnect.

Přidáme tento řádek:
mysqli_set_charset($db_connect,"utf8");

Celá funkce je:
function dbconnect($db_host, $db_user, $db_pass, $db_name) {
global $db_connect;
$db_connect = @mysqli_connect($db_host, $db_user, $db_pass);
mysqli_set_charset($db_connect,"utf8");
$db_select = @mysqli_select_db($db_connect, $db_name);
if (!$db_connect) {
return false;
} else {
return true;
}
}


Tím máme vyřešenu instalaci systému, to zkontrolujeme přímým náhledem do mysql , ale musíme také vyřešit následnou komunikaci s mysql serverem, aby čtení a zápis do tabulek probíhaly korektně.
V maincore.php musíme provést tu samou změnu funkce jak je popsáno výše....