Character issues on upgrading OJS 2.4.8-4 to 3.3.0-13

Hi, I am upgrading from a 2.4.8-4 installation.

  • I have updated to 3.1.2-4 and everything is fine
  • I have updated to 3.2.1-4 and everything is fine
  • From there, I update to 3.3.0-13 and I have errors in the characters as shown in the image.
    I’ve changed config.inc.php to version 3.

The database collation is:

image

Until 3.2.1-4 there was no problem.

Hi @Ppantaleo

Please check you config.inc.php file, does it match the database collation?

Josh Noronha (he, him, his)
Systems Administrator
PKP|PS Support Team

Hi @jnoronha thank you very much for your response. In the database, some tables appear as utf8_general_ci and others as latin1_swedish_ci.
In config it is:

[i18n]

Default locale
locale = en_US

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

; Database connection character set
connection_charset = utf8

I have tried latin1_swedish_ci but still the same.

Hi @Ppantaleo

First of all, make a backup of your database and double-check that it’s working.
Dump the database, open it on VIM and proceed with the following:

  1. Make sure it runs on InnoDB:
    :%s/ENGINE=MyISAM/ENGINE=InnoDB/gc

  2. Make sure the charset is really utf-8:
    :%s/CHARSET=latin1/CHARSET=utf8/gc

The commands above will make the necessary changes.

  1. Change the collation on all tables to utf8_general_ci:
    perl -pi -e 's{latin1_swedish_ci}{utf8_general_ci}g' your_db_dump.sql

If you can, run the database through ftfy (https://ftfy.readthedocs.io/en/latest/)

  1. Make sure your config.inc.php file has database collation set to utf8_general_ci.

At this point, your database is probably in good shape and characters issues gone, import it and you’re done. (Don’t forget to drop all tables from your database before importing the fixed one, otherwise the import will not work).

Best regards,

Josh Noronha (he, him, his)
Systems Administrator
PKP|PS Support Team

Hi @jnoronha. I was able to solve it.

Halo can u explain more detail where execute instruction 1, 2 and 3. Acording my server is linux ubuntu

Hi @Husna_Alliyus_Dwi_Ka,

You’ll need to open your database dump with VIM (it’s usually installed on Ubuntu). Here you find a quick start guide on VIM.

Best regards,
Josh