A recent question on a mailing list was the best practices for
  UTF-8 and PHP/MySQL. The following are the configurations I used
  in my multi-language projects.
  MySQL UTF-8 Configuration
# my.cnf
[mysqld]
default_character_set = utf8
character_set_client       = utf8
character_set_server       = utf8
[client]
default_character_set = utf8
  PHP UTF-8 Configuration
#php.ini
default_charset = "utf-8"
  Apache UTF-8 Configuration
#httpd.conf
AddDefaultCharset UTF-8
<VirtualHost>
    AddCharset UTF-8   .htm
</VirtualHost>
  HTML file UTF-8 Configuration
 <meta charset="utf-8">
  PHP file UTF-8 Configuration
header('Content-type: text/html; charset=UTF-8');
  MySQL connection (extra precaution)
SET NAMES utf8;
  Shell UTF-8
  And last but not least, even editing files in shell can be
  affected (.e.g UTF-8 data to be …
[Read more]