:) Podivej, server ma nastavene posilat nejake hlavicky s kodovanim pro html a php soubory. Pokud to nezmenis. Da se to menit v php.ini (nebo httpconfig), .htaccess, v php pak pres header() nebo ini_set(). U php to zmenis teda snadno, pres ten header, ale u html musis pouzit to php.ini nebo htaccess.
Do souboru se ukladaji binarni data, na to by hlavicka nemela mit asi vliv. Zalezi pak na tom, v jakem formatu mas binarni data. Pod win je v manualu zminka pouzivat wb, rb priznak misto w a r pro fopen.
Nicmene, myslim, ze tvuj problem spis spociva ve zdroji dat, sql. Zkousel jsi SET NAMES pro zmenu kodovani? nicmene, to by se dalo obejit pres iconv, pokud vis, v jakem kodovani ti data vrati databaze.
V tom kousku programu spoustu veci schazi, takze je to opet, jako bys nic nedal. Pises o pridani bom, ale neni tam nic takoveho. Pouzivas tam $row['ID'] ale neni tam cast programu, co tu promennou naplnuje. Je pak tezke ti pomoci, moznosti je vic, kde muze selhat kodovani.
Mozna by byl fajn i vzorek 1-2 radky s diakritikou, aby se dalo tipnout, v jakem kodovani ti to vlastne ulozil (z toho by se dali ty schazejici informace o db, nastaveni serveru a tak vydedukovat, mozna). Idealne jako odkaz uz na soubor, protoze text zkopirovany do forka uz muze byt pozmeneny pri ukladani zpravy.