【问题标题】:Words of Urdu Language are not displaying properly after changing hosting server更改托管服务器后,乌尔都语单词无法正确显示
【发布时间】: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 相同)

请帮我解决这个问题。

测试页面:https://www.bilawalcoachingcenter.com/vocabulary.php

【问题讨论】:

  • 很难说有什么问题。我还要说“向您展示编码”听起来不像是正确的短语。一切都是“编码”的。当你第一次将它插入 MySQL 时,它可能已经被错误地存储了。
  • 这里接受的答案有更多背景:stackoverflow.com/questions/279170/utf-8-all-the-way-through
  • 非常感谢您向我展示可能的解决方案/事情。
  • 这很奇怪,因为两台服务器上的一切似乎都相似。然后突然知道新服务器上表列的编码不是utf8。这对我来说很奇怪,因为我刚刚从以前的服务器导入了数据库。不知道怎么变的。我苦苦挣扎了一个星期才解决它,当我发现这个时,我正要毁掉我的笔记本电脑!!!
  • 那么你的问题解决了吗?如果是,那真是个好消息!

标签: php html pdo utf-8 utf8mb4


【解决方案1】:

已解决

这很奇怪,因为两台服务器上的一切似乎都相似。然后突然知道新主机上表列的编码不是utf8。这对我来说很奇怪,因为我刚刚从以前的服务器导入了整个数据库。服务器排序规则为 utf8mb4_general_ci,表的排序规则相同,但表列的集合不同。不知道怎么改的。我苦苦挣扎了一个星期才解决它,当我发现这个时,我正要毁掉我的笔记本电脑!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多