Illegal mix of collations


I’ve been trying to upgrade from 2.4.8 to 3.1.2-1 for a while now, and it’s been a pain.

I’m stucked now at this
Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8mb4_general_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE) for operation ‘replace’

Tried to change the default charset, tried different dumps, with utf8 as default charset, I’m using the same file, mariadb and php7.
I don’t know why this swedish thing appears here.

Can anyone help? thanks.

I’ve changed by hand all the tables using
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

and the “illegal mix error” seemed to have disappeared, but then I got


[php7:error] [pid 25297] [client] PHP Fatal error: Uncaught Error: Call to a member function getFileId() on null in /var/www/html/ojs3/lib/pkp/classes/file/\nStack trace:\n#0 /var/www/html/ojs3/classes/install/ SubmissionFileManager->copyFileToFileStage(‘450’, 1, 4, NULL, true)\n#1 /var/www/html/ojs3/lib/pkp/classes/install/ Upgrade->provideSupplementaryFilesForReview(Object(Upgrade), Array)\n#2 /var/www/html/ojs3/lib/pkp/classes/install/ Installer->executeAction(Array)\n#3 /var/www/html/ojs3/lib/pkp/classes/install/ Installer->executeInstaller()\n#4 /var/www/html/ojs3/lib/pkp/classes/install/form/ Installer->execute()\n#5 /var/www/html/ojs3/lib/pkp/pages/install/ UpgradeForm->execute()\n#6 /var/www/html/ojs3/lib/pkp/classes/core/ InstallHandler->installUpgrade(Array, Object(Request))\n#7 /var/www/html/ojs3/lib/pkp/classes/core/ PKPRouter->_autho in /var/www/html/ojs3/lib/pkp/classes/file/ on line 184,

I’ll try again later…

1 Like

I was able to upgrade from 2.4.8 to 3.0.2, no errors.
Then there was a problem apparently with PHP7.3.

I decided to try another upgrade from 3.0.2 to 3.1.2 and it seems to have worked. Lots of character issues though, the data is in portuguese. I’ll try again from scratch without changing the whole character set thing.