2) set the generic.php to utf-8 and change the collaboration for each table to utf-8 too. This result in propper settings for any new posting only and show black questionsmarks for old postings because they stored in an other codepage.
The old posting are actually stored in utf8 while the new postings are in latin1 on an utf8 database collation table

The problem here is that the MySQL client is still connecting with the wrong default character set (latin1) to the database server:
$this->dbh = mysqli_connect($config['DATABASE_SERVER'], $config['DATABASE_USER'], $config['DATABASE_PASSWORD'], $config['DATABASE_NAME']) or die("Problem occured in connection");
To get true utf8 support, you need the following line after mysqli_connect:
mysqli_set_charset( $this->dbh, "utf8" );
This will switch the client character set to utf8. Any utf8 data will now display fine but latin1 data on utf8 tables may be broken.
Newer database server setups such as MariaDB 10.3 on the upcoming Debian Linux 10 release will support utf8mb4 as new default character set for both client and server.