After trying everything, like changing the collations in database, character sets, exporting, importing, converting tables and database...
I found what is the problem
It was the way the data was read and presented from the database to the page
This function was converting the data from the table to lower case characters and i am not sure why but this caused the characters to appear as question marks.
echo strtolower( $value['name'] );
After removing strtlower everything looks good.