为了账号安全,请及时绑定邮箱和手机立即绑定

10.4.11-MariaDB (MySql) 和 PHP 7.2.29 UTF-8 编码问题

10.4.11-MariaDB (MySql) 和 PHP 7.2.29 UTF-8 编码问题

PHP
叮当猫咪 2022-12-30 16:17:28
我在从 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 的配置有问题?
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

不要使用任何解码功能;那只会让事情变得更糟。

您的图片显示了“Mojibake”问题。原因在这里讨论: Trouble with UTF-8 characters;我看到的不是我储存的


查看完整回答
反对 回复 2022-12-30
?
PIPIONE

TA贡献1829条经验 获得超9个赞

好的,现在我有了解决问题的方法:我用 PHP 7.4.4 和 MariaDB 10.4.11 更新到 XAMPP 7.4.4。然后我正确设置字符集和排序规则:


character-set-server = latin1

collation-server = latin1_swedish_ci

然后它起作用了


查看完整回答
反对 回复 2022-12-30
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信