【问题标题】:HTTP post doesn't send special characters correctlyHTTP post 未正确发送特殊字符
【发布时间】:2012-08-29 03:24:18
【问题描述】:

我有两个 .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 编码的...

【问题讨论】:

  • 没有“HTML 帖子”之类的东西……另一方面,HTTP POST……
  • 请提供处理此问题的 PHP 代码和 HTML。
  • 听起来像是字符集不匹配。您需要在整个管道中维护相同的字符集:网页、http 连接、数据库连接、数据库表等...... .

标签: php mysql html post encoding


【解决方案1】:

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

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

    <meta charset="UTF-8" /> 用于 HTML5 或 <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;

目前我能想到的就这些了。

【讨论】:

    【解决方案2】:

    你需要使用 urlencode() - URL 编码字符串 urldecode() - URL 解码 在 Post 请求中发送特殊字符的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2014-10-17
      • 2016-07-03
      • 1970-01-01
      相关资源
      最近更新 更多