It might be a 'AddDefaultCharset' apache problem. You may need to turn that setting off.
If I were a bettin' man, I'd say the problem is with mysql. Although your DB variables may all be correctly set to utf8 (connections and all), you may still get the question marks.
Try this...
Before all your DB queries, send this query first:
PHP Code:
mysql_query("SET NAMES 'utf8'")
If that solves it, you either need to do the above before executing any of your real queries.
If you have access to your mysql config file (my.cnf) then you can avoid the hassle above by adding the following to the [mysqld] section:
Code:
[mysqld]
init_connect="SET NAMES utf8"
Also, make sure the following variables are properly set:
Code:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
Keep in mind that the my.cnf fix does not work it your script is connecting to mysql using the 'root' account.
Bookmarks