我在从 MariaDB 数据库中获取 UTF-8 编码的字符串时遇到问题。今天我将我的 XAMPP-Distro 更新为 10.4.11-MariaDB (MySql) 和 PHP 7.2.29,现在出现了一个奇怪的问题,旧版本没有出现过。
初步信息: 我正在将工作中的 MariaDB 数据库(生产系统)的数据库转储中的数据导入到我的本地数据库。并且在本地数据库上出现问题。
当我通过 PHP (mysqli) 将本地系统上的查询发送到数据库时(代码与生产系统上的代码相同),我得到了错误的编码:
如果我使用以下 php 函数包装数据库中的文本
utf8_decode($textFromTheDatabase);
一切正常。
我还在每个查询之前尝试了以下几行,但这并没有改变任何东西:
$dbConnection->set_charset('utf8'); $dbConnection->query("SET NAMES 'utf8'");
如上所述,一切都适用于生产系统,但不适用于新的 XAMPP 安装。当我的本地系统上仍然有旧的 XAMPP 版本时,一切正常。所以我认为我的本地数据库或 PHP 或 Apache 的配置有问题?
小怪兽爱吃肉
PIPIONE