【问题标题】:Showing special characters in HTML [duplicate]在 HTML 中显示特殊字符 [重复]
【发布时间】:2015-07-04 02:46:45
【问题描述】:

这似乎是在 HTML 中显示特殊字符的永恒问题。

我在 mysql 和 PHP 中使用 PDO,mysql 中的排序规则是 utf8_unicode_ci

这是保存在数据库中的这句话和名字。

"I can't go to school

当我进行选择查询并在我的 HTML 文件中回显它时,它看起来像这样

“I can't go to school

我设置了$PDO->exec("set names utf8");,这应该使得收到的响应应该处理特殊字符。

此外,当我通过浏览器查看视图源时,我的 HTML 在顶部有这个

<meta content="charset=utf-8">

我想可能有两个原因,要么数据没有正确提取,要么数据被正确提取但在 View 中没有正确显示,

我该如何解决/调试它?

【问题讨论】:

  • 你试过new PDO("mysql:host=localhost;dbname=DB;charset=UTF8");吗?
  • @DavidDomain 这可能做同样的事情,$PDO->exec("set names utf8");,但让我也试试你提到的那个。
  • 您使用的是哪个 PHP 版本?要在构造函数中使用charset=UTF8,您需要运行 v.5.3.6 或更高版本。在 PHP 5.3.6 之前,您必须像以前一样手动操作。
  • @DavidDomain 还是一样
  • 我能想到的最后一个选项是mysql 的驱动程序特定选项。给你new PDO( 'mysql:host=mysql.example.com;dbname=example_db', "username", "password", array(PDO::MYSQL_ATTR_INIT_COMMAND =&gt; "SET NAMES utf8"));,希望这能解决问题。

标签: php html mysql pdo utf-8


【解决方案1】:

试着换个句子

"I can't go to school

到这里

\"I can\'t go to school

【讨论】:

  • 这听起来不是一个长期的解决方案。
猜你喜欢
  • 1970-01-01
  • 2011-09-19
  • 2013-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-01
  • 2016-02-19
  • 2013-03-21
相关资源
最近更新 更多