International characters are not being saved correctly and emails with accents (diacritic sign) are being garbled

Hi, all.

So, we’ve upgraded from 2.3.8 to 2.4.6 (with patches applied). I did an original source install and applied the minimal changes we had done to our previous install. Everything is exactly how it was on the previous server (at least every single OJS file and apache/php config file is identical). Everything is setup to UTF8. The OJS DB was UTF8 and it’s the same now (utf8 is setup for MySQL and utf-8 for OJS charset in config.inc.php). Everything that was previously added to the journal before the upgrade is shown correctly when browsing.

The problem arises when we try to add anything with accents or send emails. All the characters with diacritic symbol are garbled: Á turns to Ã, and so on.

I turned debug on, and in the inserts it’s already showing the garbled characters. I’ve tried different browsers/computers, and it’s always the same.

I’ve turned every stone I could think of before sending this request. Did anything substantial in charset handling change between 2.3.8 and 2.4.6 that I need to look at?

Thanks in advance.

I may have finally solved the issue. I setup mbstring.encoding_translation to Off in php.ini, and I’m no longer having the problem. I’ll do some further testing.

After further testing, the problem has been resolved.

I believe that by having encoding_translation On, the international characters where being double encoded. Still scratching my head on this one.