The Issue :
Arabic/Hebrew/non-latin characters,when extracted from database/dynamic source engine, are not properly rendered, instead are shown as ‘??????’


The Story (debug steps) :
Whenever a user saves something (let’s say meta keywords as shown above) to database, it is saved normally with correct encoding, but after saving the characters are not rendered properly but instead as ‘?????’ due to encoding problem.
All the files are UTF-8 Encoded, the headers are sent as UTF-8,the database collation is utf8_general_ci,meta charset is set to utf-8 and the connection to database is also utf-8.
Saving the keywords directly via MySQL console or PHPMyAdmin will render the same result, thus the issue is with showing the characters and not saving them.
Getting the keywords manually using mysql_query + mysql_fetch_array will solve the issue, thus the issue is caused by the function used to get the keywords (or the file containing this function).
The Solution :
Can be found Here
Best Regards
The Solution :
It seems like the editor used to save the files as UTF8 had a bug and did not save them properly encoded.
Switching to Sublime Text 2, and saving all the files as UTF8 has solved the issue.
Best Regards