HTTP帖子没有正确发送特殊字符

时间:2012-08-28 18:59:53

标签: php mysql html post encoding

我有两个.php文件,一个带有文本字段的表单,您可以在其中放置要在数据库中搜索的名称,以及一个处理该帖子的结果文件...

将使用此查询搜索数据库中的名称:

SELECT * FROM acw_papers_web web 
INNER JOIN acw_papers_web_autores aut 
ON web.id_paper_web = aut.id_paper_web 
WHERE aut.nombre_autor_pw LIKE '%autorname%' 
ORDER BY web.probabilidad DESC 

问题在于,当我发送邮件时,发送lópez,它会发送lópez...

我该如何修复...两个.php文件都是utf-8编码的......

2 个答案:

答案 0 :(得分:0)

由于您没有提供太多信息,我无法确切地指出问题所在。但这里有两种可能的解决方案:

  1. 在两个文件的<head>中设置正确的字符集:

    HTML5为{p> <meta charset="UTF-8" />,其他所有内容为<meta http-eqiv="Content-Type" content="text/html; charset=UTF-8" />

  2. 将数据库表的字符集设置为UTF-8。在MySQL中:

    ALTER TABLE acw_papers_web CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER TABLE acw_papers_web_autores CHARACTER SET utf8 COLLATE utf8_general_ci;

  3. 这就是我现在能想到的全部。

答案 1 :(得分:0)

你需要使用 urlencode() - URL编码字符串 urldecode() - URL解码 在Post Request中发送特殊字符的功能。