Charrecter Encoding Problem - Convert data from 2.3.5 to 3.1

i convert database from 2.3.5 to 3.1
all things appear okey, when i check columns in database
All values stored in Persian are in the correct format in the database and are readable by the user.
But it is displayed at the time of loading on OJS 3.1 an unreadable like “???”
i change encoding of browser but noting changed !
and i should say that in config-inc.php i18n params as below :

; Localization Settings ;


; 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

; Database storage character set
; Must be set to “Off” if not supported by the database server
database_charset = utf8

; Enable character normalization to utf-8 (recommended)
; If disabled, strings will be passed through in their native encoding
; Note that client_charset and database collation must be set
; to “utf-8” for this to work, as characters are stored in utf-8
charset_normalization = on

thanks in advance
with best regards

Hi @mbabaei,

Your settings look fine, but your database is probably loaded in MySQL in a different character encoding. I’d suggest working with a database tool like phpMyAdmin to verify that data is encoded properly (i.e. removing OJS from the equation); you’ll probably need to run your database through a tool like iconv in order to make its encodings consistent.

Alec Smecher
Public Knowledge Project Team

1 Like

finally, i found my solution, this problem occurred due to when OJS upgrade make new tables with MyISAM type but when you want system work with UTF8, the type of tables must be InnoDB
after i changed this type All words and contents in Persian work very well

i hope this issue and topic help to other person
have nice day


Thank you @mbabaei, I was getting stuck on this issue, but i also fixed it dumping all the tables with InnoDB format!

1 Like