Yo uso el servidor WAMP. (ventanas, apache, mysql, php).
//muy importante
PRIMERO:
en phpmyadmin o MySQL:asegúrese de que la base de datos Mysql sea utf. asegúrese de que su base de datos y sus tablas sean utf-general-ci
después de conectarse a Mysql inmediatamente (antes de elegir su base de datos) haga este pedido.
mysql_set_charset('utf8');
ejemplo:
<?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:en los metadatos en el archivo php, haga los metadatos de la siguiente manera:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Tercero:asegúrese de que el archivo php en sí mismo esté habilitado para utf-8. Puede asegurarse en la configuración de su IDE, o si trabaja en Notepad ++ o Komodo Edit, puede encontrarlo en la barra de estado en la parte inferior de la ventana, en el lado derecho.
// Intenté esto pero no tuvo efecto.
en el encabezado del archivo php (antes de cada cosa).
<?php header("Content-type: text/html; charset=utf-8"); ?>
en el formulario enviado:
<form accept-charset="utf-8" ...>