Cannot submit article using QuickSubmit plugin, if the abstract has special characters

Hi @jnugent

I am using OJS 3.3.0-7.

While using quick submit plugin, when the abstract contain greek letters or symbols, it is giving the error and cannot submit the article for publication.

I tried removing the those special characters, then it works.

How to make it work with special characters like 𝜛

Config.php details:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Localization Settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;

[i18n]

; Default locale
locale = en_US

; Client output/input character set
client_charset = utf-8

; Database connection character set
; Must be set to “Off” if not supported by the database server
; If enabled, must be the same character set as “client_charset”
; (although the actual name may differ slightly depending on the server)
connection_charset = utf8

Here is the error log:

[01-Sep-2021 16:57:14 UTC] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9D\x9C\x9B (…’ for column ‘setting_value’ at row 1 in /home/resaim/journals/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:115
Stack trace:
#0 /home/resaim/journals/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(115): PDOStatement->execute(NULL)
#1 /home/resaim/journals/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(489): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /home/resaim/journals/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database{closure}(‘insert into pu...', Array) #3 /home/resaim/journals/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback('insert into pu…’, Array, Object(Closure))
#4 /home/resaim/journals/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/ in /home/resaim/journals/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

Thanks in advance

Hi @Psek

OJS definitely supports extended character sets. You should verify that the tables in your database are actually utf8, and not latin1, and that your server’s connection character set and collations are also utf8. If you’re mixing the two then the results will be unpredictable.

Jason

Hi @jnugent

Here is the modifications i have made in the Cpanel>phpmyadmin

image

image

Using WHM>Phpmyadmin, the following changes are made

image

image

I have also tried with utf8_general_ci, Restarted the server also. But still i cannot insert the special characters.

Any suggestions

Regards,

P. Sek

Hello @Psek … It seems you checked the database and the server collations … but did you check the tables collations and character sets? They may have mixed collations independently of the general setting.

Hello @hilongo

In phpmyadmin, please see image

image
image
image
image

Can you please suggest, what changes to be made.

Regards,
P. Sek

Hi @Psek

I believe what @hilongo was talking about was the character sets and collations on the tables within your OJS database. See screenshot:

collate

You’d want to make sure that all of your tables were some form of utf8_ collation. If you mix them you can run into problems.

Jason

1 Like