php - 整个网站显示为怪异字符

标签 php mysql wordpress encoding

我们的服务器昨天晚上随机关闭,并修复了与MySQL有关的一些CPU使用问题之后,我们的网站之一无法正常显示。

page

如果在浏览器中查看页面源,则会得到相同的结果,没有HTML。

enter image description here



更多信息


这是一个Wordpress网站。
该网站已经成功运行了多年。在关闭之前,没有代码被更改。
在同一台服务器上还有其他运行类似的站点。
修复服务器时,已经做了很多事情。 Apache,PHP,MySQL等。这些东西被多次重启,服务器也被重启了。不幸的是,我无法提供所有可能已更改的小事情的清单。
没有更改PHP或Apache配置。


编码方式

我知道人们会询问该网站的编码。 meta标签是utf-8,一直存在,没有问题。请注意,但是,在查看源代码时看不到这样的HTML。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scallable=no, maximum-scale=1">
    <meta name="robots" content="all" />


更多:


数据库本身的编码为latin1_swedish_ci,但是各个表都是utf8或utf8mb4。一直以来,都没有改变。
wp-config.php中的编码已设置为utf8。我也尝试过utf8mb4,但这不是必需的。


标头

标头与服务器上的所有工作站点完全相同。

enter image description here

我们检查过的事情


Apache错误日志未显示任何内容。
请求标头与其他工作站点相同。
如果我用基本的PHP echo或HTML替换索引页,它将正确显示。这使我认为这与Wordpress尝试与数据库进行交互以从MySQL检索内容和设置的方式有关。
我试图将整个站点代码还原为早期版本。它没有帮助。
我曾尝试将Wordpress数据库还原到早期版本。它没有帮助。
如果我们删除/重命名数据库,则该页面将正确呈现数据库连接错误。


enter image description here

我们已经通过逐步更新或刷新全新的Wordpress安装中的部分代码来解决了该问题,但是目前仍然不知道损坏代码的来源。仍在调查以防止再次发生。

最佳答案

(注意:这可能会或可能不会提供答案。)

请参见Trouble with UTF-8 characters; what I see is not what I stored中的“黑钻石”

首先确定您的客户端中使用哪种编码。如果您将十六进制用于一些示例文本,这将有所帮助。 (提供的屏幕截图没有用,因为编辑者可能进一步修改了文本。)

情况1(原始字节不是UTF-8):


要存储的字节未编码为utf8。解决这个问题。
INSERT和SELECT的连接(或设置名称)不是utf8 / utf8mb4。解决这个问题。
另外,检查数据库中的列是否为CHARACTER SET utf8(或utf8mb4)。


情况2(原始字节为UTF-8):


SELECT的连接(或设置名称)不是utf8 / utf8mb4。解决这个问题。
另外,检查数据库中的列是否为CHARACTER SET utf8(或utf8mb4)。

关于php - 整个网站显示为怪异字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197735/

相关文章:

javascript - 最佳实践——创建具有 3 列的 Bootstrap 模板——左侧和右侧边栏

php - 金额参数是必需的 - Omnipay paypal with laravel

php - laravel 使用 Request::create 和 Route::dispatch($request);

php - Yii $this->save() 和 $this->commit() 在循环中使用时仅保存最后一条记录

java - MySQL 语法错误 |您的 SQL 语法有错误;

mysql统计热门帖子投票

mysql - 在ubuntu服务器上将sql文件导入mysql失败

javascript - 类 ="no-js"但 javascript 正在运行 WordPress

sql - WordPress 和 MySQL 排序规则

php - 无法在 WPML 中翻译一个自定义帖子类型 slug