After upgradeing suitecrm to version 7.9.3 with polish language pack all special characters 膮艣藕膰, etc. are changed to "?" and stored in database this way.
Special characters shouldn't change to "?"
Only error i get:
Tue Jul 18 13:55:18 2017 [19165][1][FATAL] Exception handling in /var/www/crm.fortecait.pl/include/MVC/Controller/SugarController.php:397
Tue Jul 18 13:55:18 2017 [19165][1][FATAL] Exception in Controller: Akcja o takiej nazwie nie istnieje.
Tue Jul 18 13:55:18 2017 [19165][1][FATAL] backtrace:
Please confirm: this only apply to words in fields, not to the actual translated interface of SuiteCRM, right?
Also reported here for Korean language
https://suitecrm.com/forum/suitecrm-7-0-discussion/15088-korean-language-destroyed-when-save-on-any-text-relative-fields-after-upgraded-to-7-9-3
Yes, only word fields.
For reference, those error messages in English are these
include/MVC/Controller/SugarController.php:548:
sugar_die($GLOBALS['app_strings']['LBL_NO_ACTION']);
include/language/en_us.lang.php:1088:
'LBL_NO_ACTION' => 'There is no action by that name.',
@AdminPL when you say these values "are stored in the database this way", did you really go into MySQL and check? Or do you just mean when you retrieve them from SuiteCRM app they show wrong?
I checked in database, thought it may be comparing charset problem
And did you upgrade PHP at the same time? Or MySQL? Or other Linux packages?
No other upgrade's same time, we turned off all auto upgrade after 3 weeks ago php went to latest version an we needed to install version 7 again.
Temporary i fixed issue by replacing include folder from version 7.9.2 on testing installation
Interesting, that fix... can you narrow it down to just a single file?
Compare the two directories and replace only a single file that fixes the problem?
I tried to switch only files which i found in error log but no effect, so at best i can compare and get back to you with list which files did changed after upgrade, but not sure if it will truly resolve the problem.
Also what i did may affect another functions so i don't recomend it to anyone unless absolutely necessary.
@horus68 in the upgrade package from 7.9.x to 7.9.3 I see that string defined like this:
'LBL_NO_ACTION' => 'There is no action by that name: %s',
This is the commit merged in 7.9.1 that touches this part of the code. It was something @gymad was working on.
@pgorod crowdin languages are for version 7.9.2
It will take some hours to update to 7.9.3 as this is a massive language update (version 7.9.3 includes some big PR for copyright and unused language strings) but I also need to compare for changes on my local "advanced" language master branch to not remove crowdin strings from PR not merged yet.
@horus68 I just corrected my post above, I was mistaken. The string is updated on my 7.9.3. Sorry.
Maybe I'm also wrong about this being present since 7.9.1. Anyway, once you have time to update the translations on Crowdin, that %s will have to be present for any system that has the new code in gymad's commit, otherwise the error will come up.
We still have to determine whether the error in the logs is indeed related to the charset bug described. They might be different things.
AdminPL can you please try reverting to the include directory contents that were giving the error, and instead change your Polish language file that contains LBL_NO_ACTION so that it has a %s in it?
'LBL_NO_ACTION' => 'Akcja o takiej nazwie nie istnieje: %s',
Can't do it right now, VM with test system is down, i'll do it ASAP, propably tommorow.
I found that the actual string on Crowdin already includes the % in that string. So if someone uses a language pack version 7.9.2.0 and up) will not have that issue.
Ok everyone I have some not very good news about this...
The simplest steps to reproduce:
The values that produce problems are basically anything that is not the standard english character:
Gon莽alves, it turned to Gonlves. Other portuguese characters like 茫 get the same treatment, the character disappears, and takes the following character along with it...膮艣藕膰 listed above, it turns to ????So basically 7.9.3 somehow broke SuiteCRM's Unicode capabilities in every field of every screen...
Hi Everyone.
We'll raise this as a high priority and deal with this and produce a patch immediately. I believe the issue has came about dealing with a Security issue, But when we know more we'll update the issue and provide a resolve.
Be in touch soon.
Hi @pgorod, I have a commit with a possible fix. Can you please confirm that it solves the issue?
@gymad I have a meeting starting now, but in a five minute test, it did seem to solve everything. Those two tests above (with the portuguese and the polish characters) seem to be ok with that code change 馃憤
Text was showing correctly in phpMyAdmin and on screen.
Sam situation on my instance. Checked also with german character's seems to be working fine.
Seems to be working
Most helpful comment
Hi Everyone.
We'll raise this as a high priority and deal with this and produce a patch immediately. I believe the issue has came about dealing with a Security issue, But when we know more we'll update the issue and provide a resolve.
Be in touch soon.