eu uso o servidor WAMP. (windows, apache, mysql, php).
//tão importante
PRIMEIRO :
em phpmyadmin ou MySQL:certifique-se de que o banco de dados Mysql seja utf. certifique-se de que seu banco de dados e suas tabelas sejam utf-general-ci
após conectar ao Mysql imediatamente (antes de escolher seu banco de dados) faça este pedido.
mysql_set_charset('utf8');
exemplo :
<?php
//connect to MySQL
mysql_connect("localhost", "user", "password") or die(mysql_error());
mysql_set_charset('utf8'); // that's the order.
echo "Connected to MySQL<br />";
//connect to your DB
mysql_select_db("mydb") or die(mysql_error());
echo "Connected to Database";
?>
SEGUNDO:nos metadados do arquivo php, faça os metadados da seguinte forma:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Terceiro:Certifique-se de que o próprio arquivo php esteja habilitado para utf-8. você pode ter certeza nas configurações do seu IDE, ou se você trabalha no notepad ++ ou Komodo Edit, então você pode encontrá-lo na barra de status na parte inferior da janela, do lado direito.
// eu tentei isso, mas não teve efeito.
no cabeçalho do arquivo php (antes de cada coisa).
<?php header("Content-type: text/html; charset=utf-8"); ?>
no formulário enviado:
<form accept-charset="utf-8" ...>