OAI in OJS 3.3.0.5 is not working

Hi @asmecher

My journal’s page (oai?verb=ListRecords&metadataPrefix=oai_dc) is entirely blank, showing nothing. Please help me to solve this problem.

I am using OJS 3.3.0.5

Hi @loveleentak

Have you checked your webserver and PHP error log file? It may show you further information about any error that is happening when you load this URL.

Best,
Israel

Yes, it is giving the error below:
[10-Aug-2023 23:00:48 America/Chicago] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’ in /home4/XXXX/public_html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:78
Stack trace:
#0 /home4/XXXX/public_html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(78): PDO->prepare(‘SELECT\tGREATEST…’, Array)
#1 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Doctrine\DBAL\Driver\PDOConnection->prepare(Object(Illuminate\Database\Query\Expression))
#2 /home4/XXXX/public_html/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 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#4 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(352): Illuminate\Database\Connection->run(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#5 [internal function]: Illuminate\Database\Connection->cursor(Object(Illuminate\Database\Query\Expression), Array)
#6 /home4/XXXX/public_html/lib/pkp/classes/oai/PKPOAIDAO.inc.php(130): Generator->current()
#7 /home4/XXXX/public_html/classes/oai/ojs/JournalOAI.inc.php(178): PKPOAIDAO->getRecords(Array, NULL, NULL, NULL, 0, 100, 0)
#8 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(507): JournalOAI->records(‘oai_dc’, NULL, NULL, NULL, 0, 100, 0)
#9 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(85): OAI->ListRecords()
#10 /home4/XXXX/public_html/pages/oai/OAIHandler.inc.php(39): OAI->execute()
#11 /home4/XXXX/public_html/lib/pkp/classes/core/PKPRouter.inc.php(395): OAIHandler->index(Array, Object(Request))
#12 /home4/XXXX/public_html/lib/pkp/classes/core/PKPPageRouter.inc.php(246): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)
#13 /home4/XXXX/public_html/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPPageRouter->route(Object(Request))
#14 /home4/XXXX/public_html/lib/pkp/classes/core/PKPApplication.inc.php(362): Dispatcher->dispatch(Object(Request))
#15 /home4/XXXX/public_html/index.php(68): PKPApplication->execute()
#16 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’ in /home4/XXXX/public_html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
Stack trace:
#0 /home4/XXXX/public_html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(83): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))
#1 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Doctrine\DBAL\Driver\PDOConnection->prepare(Object(Illuminate\Database\Query\Expression))
#2 /home4/XXXX/public_html/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 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#4 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(352): Illuminate\Database\Connection->run(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#5 [internal function]: Illuminate\Database\Connection->cursor(Object(Illuminate\Database\Query\Expression), Array)
#6 /home4/XXXX/public_html/lib/pkp/classes/oai/PKPOAIDAO.inc.php(130): Generator->current()
#7 /home4/XXXX/public_html/classes/oai/ojs/JournalOAI.inc.php(178): PKPOAIDAO->getRecords(Array, NULL, NULL, NULL, 0, 100, 0)
#8 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(507): JournalOAI->records(‘oai_dc’, NULL, NULL, NULL, 0, 100, 0)
#9 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(85): OAI->ListRecords()
#10 /home4/XXXX/public_html/pages/oai/OAIHandler.inc.php(39): OAI->execute()
#11 /home4/XXXX/public_html/lib/pkp/classes/core/PKPRouter.inc.php(395): OAIHandler->index(Array, Object(Request))
#12 /home4/XXXX/public_html/lib/pkp/classes/core/PKPPageRouter.inc.php(246): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)
#13 /home4/XXXX/public_html/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPPageRouter->route(Object(Request))
#14 /home4/XXXX/public_html/lib/pkp/classes/core/PKPApplication.inc.php(362): Dispatcher->dispatch(Object(Request))
#15 /home4/XXXX/public_html/index.php(68): PKPApplication->execute()
#16 {main}

Next Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’ (SQL: SELECT GREATEST(a.last_modified, i.last_modified) AS last_modified,
a.submission_id AS submission_id,
j.journal_id AS journal_id,
s.section_id AS section_id,
i.issue_id,
NULL AS tombstone_id,
NULL AS set_spec,
NULL AS oai_identifier
FROM
submissions a
JOIN publications p ON (a.current_publication_id = p.publication_id)
JOIN publication_settings psissue ON (psissue.publication_id = p.publication_id AND psissue.setting_name=‘issueId’ AND psissue.locale=‘’)
JOIN issues i ON (CAST(i.issue_id AS CHAR(20)) = psissue.setting_value)
JOIN sections s ON (s.section_id = p.section_id)
JOIN journals j ON (j.journal_id = a.context_id)
WHERE i.published = 1 AND j.enabled = 1 AND a.status = 3

			 AND j.journal_id = 1
			
			
			
			
		UNION
		SELECT	dot.date_deleted AS last_modified,
			dot.data_object_id AS submission_id,
			tsoj.assoc_id AS assoc_id,
			NULL AS section_id,
			NULL AS issue_id,
			dot.tombstone_id,
			dot.set_spec,
			dot.oai_identifier
		FROM	data_object_tombstones dot
			JOIN data_object_tombstone_oai_set_objects tsoj ON (tsoj.tombstone_id = dot.tombstone_id AND tsoj.assoc_type = 256 AND tsoj.assoc_id = 1)
			
		WHERE	1=1
			
			
			
			
		ORDER BY journal_id, submission_id) in /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671

Stack trace:
#0 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#1 /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(352): Illuminate\Database\Connection->run(Object(Illuminate\Database\Query\Expression), Array, Object(Closure))
#2 [internal function]: Illuminate\Database\Connection->cursor(Object(Illuminate\Database\Query\Expression), Array)
#3 /home4/XXXX/public_html/lib/pkp/classes/oai/PKPOAIDAO.inc.php(130): Generator->current()
#4 /home4/XXXX/public_html/classes/oai/ojs/JournalOAI.inc.php(178): PKPOAIDAO->getRecords(Array, NULL, NULL, NULL, 0, 100, 0)
#5 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(507): JournalOAI->records(‘oai_dc’, NULL, NULL, NULL, 0, 100, 0)
#6 /home4/XXXX/public_html/lib/pkp/classes/oai/OAI.inc.php(85): OAI->ListRecords()
#7 /home4/XXXX/public_html/pages/oai/OAIHandler.inc.php(39): OAI->execute()
#8 /home4/XXXX/public_html/lib/pkp/classes/core/PKPRouter.inc.php(395): OAIHandler->index(Array, Object(Request))
#9 /home4/XXXX/public_html/lib/pkp/classes/core/PKPPageRouter.inc.php(246): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)
#10 /home4/XXXX/public_html/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPPageRouter->route(Object(Request))
#11 /home4/XXXX/public_html/lib/pkp/classes/core/PKPApplication.inc.php(362): Dispatcher->dispatch(Object(Request))
#12 /home4/XXXX/public_html/index.php(68): PKPApplication->execute()
#13 {main}
thrown in /home4/XXXX/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

Revisa la codificación de los sistema en archivo del configuración y la base de datos en prime lugar,

Please guide me, on what I need to check there.

According to this post, you have the same issue than the thread author:

Please, review you database and tables charset collation and your config.inc.php Database collation parameter. They should be using all the same collation.

Best,
Israel