mysql/php中的特殊字符
我有一个用于向数据库添加行的表单: 当我尝试插入值作为 埃 í á ã 它以错误的格式出现 出现 守则:mysql/php中的特殊字符,php,mysql,Php,Mysql,我有一个用于向数据库添加行的表单: 当我尝试插入值作为 埃 í á ã 它以错误的格式出现 出现 守则: <form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;"> <table width="625" border="0"> <tr> <td wid
<form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;">
<table width="625" border="0">
<tr>
<td width="69">Título:</td>
<td width="546"><input name="titulo" type="text" id="titulo" size="70" maxlength="60" /></td>
</tr>
<tr>
<td>Local:</td>
<td><input name="local" type="text" id="local" size="70" maxlength="60" /></td>
</tr>
<tr>
<td>Data:</td>
<td><input name="data" type="text" id="data" maxlength="20" />
(formato: dd/mm/aaaa hh:mm)</td>
</tr>
<tr>
<td colspan="2"><p>
<input name="cadastrar" type="submit" id="cadastrar" value="Concluir meu Cadastro!" />
<br />
</p>
<p> </p></td>
</tr>
</table>
</form>
我的mysqldatabase正在使用拉丁文\u general\u ci排序规则
编辑:现在,排序规则是utf8\u general\u ci警告:这是非常不安全的,因为这些参数不是。千万不要将
$\u POST
数据直接放入查询:它会创建一个巨大的mysql\u query
是一个过时的接口,不应该使用,它正在从PHP中删除。一个现代的替代品。类似的指南解释了最佳实践。您可能正在向数据库提供UTF-8数据。你确定整个过程的编码都正确吗?最好使用UTF-8端到端,而不是拉丁1,拉丁1的限制性要大得多。至少使用mysql_real_escape_string($_POST['aaa']),但我建议您按照@tadman的建议寻找PDO@tadman我贴错了..我在使用utf8\u general\u ciCheck有一些技巧如何正确处理utf-8。
// RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO !
$titulo = $_POST ["titulo"]; //atribuição do campo "nome" vindo do formulário para variavel
$local = $_POST ["local"]; //atribuição do campo "email" vindo do formulário para variavel
$data = $_POST ["data"]; //atribuição do campo "ddd" vindo do formulário para variavel
//Gravando no banco de dados !
//conectando com o localhost - mysql
$conexao = mysql_connect("localhost","dbuser", "pass");
if (!$conexao)
die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db("db",$conexao);
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
$query = "INSERT INTO `CDEventos` ( `id` , `titulo` , `local` , `data`)
VALUES (0, '$titulo', '$local', '$data')";
mysql_query($query,$conexao);
echo "Evento cadastrado com sucesso!";
?> insert in mysql database