更改托管服务器后,乌尔都语单词无法正确显示
Posted
技术标签:
【中文标题】更改托管服务器后,乌尔都语单词无法正确显示【英文标题】: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 时,它可能已经被错误地存储了。 这里接受的答案有更多背景:***.com/questions/279170/utf-8-all-the-way-through 非常感谢您向我展示可能的解决方案/事情。 这很奇怪,因为两台服务器上的一切似乎都相似。然后突然知道新服务器上表列的编码不是utf8。这对我来说很奇怪,因为我刚刚从以前的服务器导入了数据库。不知道怎么变的。我苦苦挣扎了一个星期才解决它,当我发现这个时,我正要毁掉我的笔记本电脑!!! 那么你的问题解决了吗?如果是,那真是个好消息! 【参考方案1】:已解决
这很奇怪,因为两台服务器上的一切似乎都相似。然后突然知道新主机上表列的编码不是utf8。这对我来说很奇怪,因为我刚刚从以前的服务器导入了整个数据库。服务器排序规则为 utf8mb4_general_ci,表的排序规则相同,但表列的集合不同。不知道怎么改的。我苦苦挣扎了一个星期才解决它,当我发现这个时,我正要毁掉我的笔记本电脑!!!
【讨论】:
以上是关于更改托管服务器后,乌尔都语单词无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章
通过 xampp 托管时,保存为 php 的 JqueryMobile 页面无法正确显示
无法从托管 wcf 的 Windows 服务启动 WinWord
无法在 ASE 中托管的 Linux 应用服务计划上配置 API 应用