首页 > 解决方案 > php版本从5.6升级到7.2后阿拉伯字符变成问号

问题描述

当我尝试将 wordpress 版本更新到 5.4 时,我有一个 wordpress 网站,它要求我升级 PHP 版本。我从服务器进行了升级,当我在更新 wordpress 之前回到网站时,我看到我网站上用阿拉伯语写的所有字符都变成了问号。然后,我将 wordpress 更新到 5.4,没有任何改变。我检查了wp-config.php文件,发现字符集设置为 utf8

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

但是 MySQL 数据库设置为

在此处输入图像描述

另外,我检查了网页标题

<html dir="rtl" lang="ar">
<head>
<meta charset="UTF-8" />

然后,我在文件夹中的php.ini文件中添加了以下两行public_html

default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8

例如,在标签部分的图像下方

在此处输入图像描述

标签: mysqlwordpressunicodecharactercollation

解决方案


连接参数必须与客户端中的编码一致。

latin1 无法正确处理阿拉伯语。

问号出现在INSERTing数据期间;数据丢失。

有关“问号”的原因列表,请参阅UTF-8 字符问题;我看到的不是我存储的


推荐阅读