Gallery:已知问题:MySQL UTF8 的升级

来自站长百科
跳转至: 导航、​ 搜索

MySQL升级的相关问题 - UTF-8[ ]

MySQL 排序规则 – 早些版本到G2.1或更新版本的升级程序中,对某些用户来说第三步(核心模块升级)可能会失败,并得到类似的错误

 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)

修复此问题的办法就是编辑modules/core/classes/GalleryStorage/MySqlStorage.class并将

   function _setConnectionSettings(&$db) {
       /* MySQL 4.1.0+ support UTF-8, for details, see: http://drupal.org/node/40515 */

修改为

   function _setConnectionSettings(&$db) {
       return null;
       /* MySQL 4.1.0+ support UTF-8,详尽信息请见:http://drupal.org/node/40515 */

并编辑modules/core/CoreModuleExtras.inc,将

       case '1.0.27':

替换为

           $storage->execute('SET NAMES "utf8"');
       case '1.0.27':

接着重新启动升级向导。你现在应该能够成功地完成所有升级步骤了。升级完成后,将MySqlStorage还原。CoreModuleExtras.inc则没有必要进行还原了,当然将之前所作的修改还原亦无大碍。

注: 稍旧版本的MySQL有一个相关的bug。可以将MySQL 4.1.16(或更高版本)或5.0.17(或更高版本)进行升级以解决此问题:http://bugs.mysql.com/bug.php?id=10446