Estoy tratando de hacer un formulario con php y mysql. El problema que tengo es que los caracteres especiales como acentos no se reconocen y en la base de datos aparecen como símbolos combinados.
En el índex html tengo indicado esto:
Código:
Y en la base de datos lo tengo todo como utf8-unicode (aunque he probado con utf8-spanish, utf8-bin, etc. y siempre con el mismo resultado). <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Estos son los archivos que utilizo:
index.html
Código:
contactengine.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Matrícula Escola d'Estiu 2008</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="page-wrap"> <img src="images/titol.png" alt="Matrícula Escola d'Estiu 2008" /><br /> <br /> <div id="contact-area"> <form method="post" action="contactengine.php"> <label for="Name" id="Name">Nom:</label> <input name="Name" type="text" /> <label for="City" id="City">Ciutat:</label> <input name="City" type="text" /> <label for="Email" id="Email">Correu electrònic:</label> <input name="Email" type="text" /><br /> <label for="Curs" id="Curs">Curs:</label> <select name="Curs"><optgroup label="Seleccioneu un curs"><option>Curs1</option><option>Curs2</option><option>Curs3</option></optgroup></select> <br /> <label for="Message" id="Message">Missatge:</label><br /> <textarea name="Message" rows="20" cols="20"></textarea> <input name="submit" value="Envia" class="submit-button" type="submit" /> </form> <br /> </div> </div> </body></html>
Código:
No hagáis caso a la estructura, por ahora estoy probando. Lo que necesito solucionar es lo de los caracteres...<?php $Name = Trim(stripslashes($_POST['Name'])); $City = Trim(stripslashes($_POST['City'])); $Email = Trim(stripslashes($_POST['Email'])); $Message = Trim(stripslashes($_POST['Message'])); $Name = addslashes($Name); $City = addslashes($City); $Email = addslashes($Email); $bd=mysql_connect("localhost","eetssca_admin","imagen") or die ("No s'ha pogut connectar a la base de dades"); mysql_select_db("eetssca_form"); $sql="insert into Dades (nom, ciutat, correu) values ('".$Name."','".$City."','".$Email."')"; $res=mysql_query($sql,$bd) or die (mysql_error()); ?>
¿Dónde está el error?