itsource

joomla 1.5 mariadb 10

mycopycode 2023. 1. 8. 14:39
반응형

joomla 1.5 mariadb 10

MySQL을 MariaDB 10으로 업그레이드하려고 했던 cpanel 서버가 있습니다.유니코드 언어를 사용하던 많은 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/syslog-my.cnf.d/syslog.cnf

[mysql]
default-character-set=utf8

joomla 시스템 정보에서 얻을 수 있는 정보:

데이터베이스 대조: 없음(mySQL < 4.1.2)

운이 없다

joomla와 mariadb 포럼에 문의했지만 답변이 없어 확인해보니, 여기에 글을 올립니다.이것에 의해, mariadb 10의 구버전이나 서포트되고 있지 않은 버전에서도 메리애드 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);
}

최량

SHOW CREATE TABLE

아마 뭐가 잘못됐는지 보여줄 거예요.

여기서 물음표가 나옵니다.

  • 클라이언트에 유효한 문자가 있습니다.
  • SET NAMES클라이언트의 부호화에 동의하지만,
  • 대상 열의CHARACTER SET에는 의도한 문자가 포함되어 있지 않습니다.

언급URL : https://stackoverflow.com/questions/31369276/joomla-1-5-mariadb-10

반응형