【问题标题】:PHP form doesn´t save the accent marks into MySQL DB [duplicate]PHP表单不会将重音符号保存到MySQL DB中[重复]
【发布时间】:2017-08-18 15:16:22
【问题描述】:

我通过 PHP 表单将信息存储到 MySQL 数据库中,问题是一个人输入到数据库中的名称字段 José Molína 它保存了 JOSé MOLíNA,因此它将重音符号转换为难以辨认的名称,当我以显示 Jos Molna 的形式显示数据库的信息(不显示带有重音符号的字母)。

我的表的信息是 ENGINE=MyISAM DEFAULT CHARSET=latin1 并且表单从 Wordpress 站点捕获信息,您能告诉我有什么问题吗?

这是我将信息发送到数据库的方式

$strNombres = htmlspecialchars(rtrim($_POST['nNombres']));
     $Nombres= filter_var($strNombres, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);

我试过这个但没有解决办法

$strNombres = strtoupper((rtrim($_POST['nNombres'])));
     $Nombres = htmlentities($strNombres, ENT_QUOTES,'UTF-8');

致经理: 既然你关闭了这个问题,你能告诉我编辑问题的重复标志在哪里吗?除此之外我想关闭我的帐户,你怎么关闭一个问题?

我只是为此通过 twitter 发送消息。

【问题讨论】:

标签: php mysql wordpress


【解决方案1】:

您需要更改表格的字符集

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

在您的情况下,您应该将 tbl_name 替换为您的表名

ALTER TABLE tbl_name CONVERT TO CHARACTER SET 'UTF-8';

【讨论】:

  • 这可能还不够
  • 数据库引擎 ?? innodb?
猜你喜欢
  • 2019-08-07
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
  • 1970-01-01
相关资源
最近更新 更多