[OJS and QuickSubmit] Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)

Hello,

I’m on OJS 3.3.0.6 with the latest version of the quicksubmit plugin.

When I submit a new item I get this error:

`Notice: Undefined variable: newFile in /var/www/html/clog.glasgow.ac.uk/www/ojs/plugins/importexport/quickSubmit/QuickSubmitForm.inc.php on line 312

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ‘=’ in /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:78 Stack trace: #0 /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(78): PDO->prepare(‘SELECT\ti.*\n\t\t\tF…’, Array) #1 /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Doctrine\DBAL\Driver\PDOConnection->prepare(Object(Illuminate\Database\Query\Expression)) #2 /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database{closure}(Object(Illuminate\Database\Query\Expression), Array) #3 /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/D in /var/www/html/clog.glasgow.ac.uk/www/ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671`

What can the cause be?

PS: this is my configuration.

database
driver 	mysqli
host 	localhost
username 	
password 	
name 	
collation 	utf8_general_ci
debug 	
cache
object_cache 	none
memcache_hostname 	localhost
memcache_port 	11211
web_cache 	
web_cache_hours 	1
i18n
locale 	en_US
client_charset 	utf-8
connection_charset 	utf8

Hi @luca.g

This is happening because you either have database tables in your database that do not have a collation of utf8_general_ci, or your connection collation for your sever environment is utf8_unicode_ci.

There are a few database queries in OJS 3.3 that use CAST to convert numbers to strings for comparison, and this CAST carries an implicit collation. It looks like some of your database tables do not match it.

Best,
Jason