Database error Illegal mix of collations

Description of issue or problem I’m having:
When I assign an article to an issue and press schedule for Publication, following error message is shown…
Fatal error: Uncaught Exception: DB Error: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT)
for operation ‘=’ Query: SELECT i.* FROM issues i, submissions a LEFT JOIN publications p ON (p.publication_id = a.current_publication_id)
LEFT JOIN publication_settings ps ON (ps.publication_id = p.publication_id) WHERE ps.setting_name = ? AND
ps.setting_value = CAST(i.issue_id as CHAR(20)) AND a.submission_id = ? AND a.context_id = i.journal_id
in /home/-------/public_html/lib/pkp/classes/db/DAO.inc.php:703 Stack trace: #0
/home/-------/public_html/lib/pkp/classes/db/DAO.inc.php(103): DAO->handleError(Object(ADODB_mysqli), ‘SELECT\ti.\n\t\t\tF…’)
#1 /home/-------/public_html/classes/issue/IssueDAO.inc.php(569): DAO->retrieve('SELECT\ti.
\n\t\t\tF…’, Array)
#2 /home/-------/public_html/classes/submission/Submission.inc.php(86): IssueDAO->getBySubmissionId(22)
#3 /home/-------/public_html/lib/pkp/classes/services/PKPPublicationService.inc.php(572): Submission->_g in /home/-------/public_html/lib/pkp/classes/db/DAO.inc.php on line 703

Steps I took leading up to the issue:
The problem started after I changed the collation of database and all tables from utf8mb4_0900_ai_ci to utf8_general_ci some months ago… at that time i did not check scheduling article for an issue but now i cant move forward and stuck…
my database in php myadmin shows the following result

image

What I tried to resolve the issue:
I have changed collation from collation = utf8_general_ci to
collation =utf8_unicode_ci but still the problem is not resolved…

Application Version - e.g., OJS 3.1.2:
ojs 3.2.1.4

Additional information, such as screenshots and error log messages if applicable:
Kindly help me if need to change the collation of the database and tables?
image

The problem has been solved. The database and all tables collations were changed to utf8_unicdoe_ci.

Can any one clarify that why utf8mb4_unicode_Ci not work with ojs?

1 Like