【发布时间】:2021-12-10 20:37:24
【问题描述】:
我以前使用 Namecheap 托管服务器来运行我的网站 (https://www.bilawalcoachingcenter.com),现在转移到 Site Ground。问题是存储在数据库中的乌尔都语单词无法正确显示。它向我展示了编码,而不是文字。
这是我的 HTML 页面的设置:
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
这就是我通过 PDO 连接的方式:
$this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host') . ';dbname=' . Config::get('mysql/db'), Config::get('mysql/username'), Config::get('mysql/password'));
Site Ground 的服务器连接排序规则为 utf8mb4_unicode_ci(与 Name Cheap 相同)
请帮我解决这个问题。
【问题讨论】:
-
很难说有什么问题。我还要说“向您展示编码”听起来不像是正确的短语。一切都是“编码”的。当你第一次将它插入 MySQL 时,它可能已经被错误地存储了。
-
非常感谢您向我展示可能的解决方案/事情。
-
这很奇怪,因为两台服务器上的一切似乎都相似。然后突然知道新服务器上表列的编码不是utf8。这对我来说很奇怪,因为我刚刚从以前的服务器导入了数据库。不知道怎么变的。我苦苦挣扎了一个星期才解决它,当我发现这个时,我正要毁掉我的笔记本电脑!!!
-
那么你的问题解决了吗?如果是,那真是个好消息!
标签: php html pdo utf-8 utf8mb4