Problem with special characters

Hello all,

I am using OJS 2.4.2.

If there is a special character in any entry in my system (such as in title, abstract, author name, etc), after the data is entered into the database, the data cannot be loaded back to the form again. For example, if there is a special character in article title, when editing metadata, the title field is empty, also, when trying to send review request, the prepared email template won’t load since the title containing special character will be populated into the template, which prevents template from loading into the email body field.

this problem should be the same in nature as this one: Reviewer email not working - #9 by beghelli

I checked my database character set by running: show variables like “character_set_database”; the result returned is:
character_set_database latin1 (this is a surprise to me, I supposed it should have been utf-8)

The settings in my config file are:
; Default locale
locale = en_US

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

; Database connection character set
connection_charset = Off

; Database storage character set
database_charset = Off

; Enable character normalization to utf-8 (recommended)
; charset_normalization = Off

Then I changed the last setting to ; charset_normalization = utf-8

the change did not make any difference.

My question is what is the easiest solution to my problem? Can i fix it by simply changing character_set_database to utf-8?, if yes, how?

Thank you very much in advance.

I saw message posted by Alec in this post OJS dont't display character set in UTF-8 - #12 by asmecher and changed utf-8 to utf8 in the setting, now the problem is fixed. Thank you Alec!

If your settings are (exactly!)…

[i18n]
client_charset = utf-8
connection_charset = utf8
database_charset = utf8
…then your OJS character set configuration is correct. Have you turned on persistent connections? If so, turn that off – your old configuration might still affect your connection pool.

These settings should correspond to the same ones you used on your old OJS installation. If not, you may have to convert your database somehow.

Regards,
Alec Smecher
Public Knowledge Project Team

@newbies
These are my settings but still I am getting special characters in various sections of my OJS.
; 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 = utf8

I tried to turn off charset_normalization but it also didn’t work