Cannot add reviewers to a submission in 3.1.2.1 (Malformed UTF-8 characters)

This is an OJS 2.4.8 installation upgraded to OJS 3.1.2.0 early this year. Almost everything works as intended but we are facing a problem when trying to add a reviewer to a submission.

Whenever we try to “Add a reviewer” we get an error stating “Failed AJAX request or invalid JSON returned”

with a corresponding error in the Apache logs:

Malformed UTF-8 characters, possibly incorrectly encoded, referer: http://siteURL/ojs/index.php/journalname/workflow/index/1674/3

[i18n] Settings in config.inc.php are identical to the ones present in the original version and so are the charset configurations in both the databases.

We started checking the database to find any malformed character that might be producing the error, but at the same time, we discovered that the error only gets triggered when it is the First Review Round. If we add a second Review Round and try to add a reviewer, there is no error and the list of available reviewers is displayed.

Any tip on this situation will be very welcome

Thanks in advance.

A little update … further testing showed that changing the UI language to English (from the selector at the top) makes the error dissappear. So it maybe has to do with the local language templates? (we use es_ES as default)

How/where should we search for the source of this problem?

We have upgraded to 3.1.2.1 and the problem still persists.

Hi @hilongo,

I suspect there is some incorrectly-encoded UTF8 data in your database. The reason it sometimes appears to cause a problem and other times does not has to do with whether the problem data is being fetched or not. If I were debugging this, I’d probably use the debug setting in config.inc.php (possibly along with this change to make that mode easier to use and less obtrusive) to identify the SQL query that fetches the bad data, then experiment with that query directly in the database to find the data.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

Working on this … but I forsee it will take some time. Thanks for the tip @asmecher !! :slight_smile::+1:

Finally … Work is done. Exactly as @asmecher suggested, there was some incorrectly-encoded UTF8 data in the database.

Plus, I was able to solve some other problems applying the same procedure :slight_smile:

Thanks again!.