joomla 1.5 mariadb 10

时间:2015-07-12 15:13:00

标签: joomla joomla1.5 mariadb

我有一个cpanel服务器,我试图将MySQL升级到MariaDB 10,现在一切正常,除了许多使用unicode语言的Joomla 1.5网站现在显示问号而不是每个字符:

我必须澄清更多:在升级之前,网站正在使用MySQL 5.5正确显示,并且数据在数据库中完好无损,因此当我将网站复制到另一台MariaDB 5.6服务器时,它会正确显示。

我试过了:  /etc/my.cnf.d/server.cnf

[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8

和/etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

在joomla系统信息中我得到:

  

数据库整理:N / A(mySQL< 4.1.2)

没有运气

2 个答案:

答案 0 :(得分:7)

我在joomla和mariadb论坛上问了没有答案所以我检查并发现了这个问题,我在这里发帖,所以如果有人需要使用mariadb 10,即使是较旧的和不支持的版本也可以使用这个快速修复。

希望有所帮助

libraries/joomla/database/database/mysql.php

或(取决于您的设置)

libraries/joomla/database/database/mysqli.php

评论第186行

return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));

并添加此代码(假设这些天您将拥有支持unicode的数据库:

return (1);

代码如下:

function hasUTF()
{
    $verParts = explode( '.', $this->getVersion() );
//  return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));
return (1);
}

最佳

答案 1 :(得分:0)

SHOW CREATE TABLE

可能会告诉你什么是错的。

问号来自:

  • 客户端具有有效字符,
  • SET NAMES同意客户端的编码,但
  • 目标列的CHARACTER SET不包含预期的字符。