gpt4 book ai didi

mysql - Moodle 1.9 REPLACE 破坏 utf8_unicode_ci 字符串

转载 作者:行者123 更新时间:2023-11-29 14:25:10 25 4
gpt4 key购买 nike

我正在测试 Moodle 站点升级,从版本 1.9 到 2.2。在测试箱上,我创建了 Moodle 1.9 站点的副本。为了让网站在测试框架上运行,我必须做的一件事是将硬编码的 URL 更新为在测试机器上有效的内容。为此,我使用 Moodle 1.9 中的管理/替换功能,即

http://mytestsite/admin/replace.php

在生成的表单中,我指定要切换的 URL。根据文档,此处的脚本将继续遍历 Moodle 安装中的所有表并运行如下所示的脚本:

UPDATE adodb_logsql 
SET PARAMS = REPLACE(PARAMS, 'some_url', 'another_url')

更新过程似乎运行良好。但是,它具有以下意想不到的副作用:

网站中保存在数据库中的某些内容看起来在替换过程中已损坏:

Before: Welcome to Company’s Learning
After : Welcome to Company’s Learning

根据MySQL,REPLACE语句是multi-byte safe .

我的问题:

  1. 我做错了什么?一个简单的REPLACE不应该有这些奇怪的副作用。
  2. 有没有简单的方法可以消除损害?

测试服务器:* IIS 7* PHP 5.3.13* MySQL服务器5.5

最佳答案

尽管Moodle可以直接从1.9升级到2.2,但如果数据量很大,也不是100%安全。

在最近的所有升级中,我都遵循以下路径:1.8 到 1.9、1.9 到 2.0、2.0 到 2.1 以及 2.1 到 2.2。这个过程很乏味,但它避免了数据损坏的任何风险。

关于mysql - Moodle 1.9 REPLACE 破坏 utf8_unicode_ci 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com