Forums

Special Characters/German Umlaute will change whenever I save the form (not all)

burf 08 Feb, 2017
Hi,

I created a form in Chronforms v5 with Joomla (3.6.x).

All went well, but suddenly whenever I save the form some Umlaute or ß will change to encoding characters: "bitte wählen …" changes to "bitte wählen …" and so on.

Strange thing: some characters change, others not. And when I correct the wrong ones, others will change, and this never stops.

What I changed before things happened: I set "JS Validation language" from "automatic" to "German" and back. And I had to change the PHP from version 5.5 to version 7.

Any idea would be very (!) welcome! Thanks
GreyHead 08 Feb, 2017
Hi burf,

I don't believe that there is anything in ChronoForms that will do this. It sounds as though there is a Character set problem somewhere. Where exactly are these characters that are being changed? Is your site set to use UTF-8?

Bob
burf 08 Feb, 2017
Hi Bob,

I think so – but I don't find where to set the site (i.e. Joomla) to use UTF-8 …

Can i have anything to do with the collation(s) in MySQL? "utf8mb4_unicode_ci" oder latin or so?

Carsten
GreyHead 08 Feb, 2017
Hi burf,

The Unicode collation looks correct but individual tables can have different collations.

Where exactly is the text that is being changed?

Bob
burf 08 Feb, 2017
The text is within the "Designer" section and also in the frontend form ("view form")

Attached image: "1.png" shows radio buttons with wrong characters in my section "7." In section 6 or 8 the same text is okay!

Attached images: "2a.png" and "2b.png" show the same dropdown menu section the first one before and the second (with the wrong character) after I corrected and saved the above section "7" …

Carsten
burf 08 Feb, 2017
Now I corrected (and saved) the wrong character in the dropdown field shown in 2b.png – and radio button section 6 went wrong (radio buttons section 7 stayed okay) …
Max_admin 09 Feb, 2017
Hi burf,

Please check the table encoding as Bob has suggested ?

Also, if you have another website on the same server maybe try a fresh install of Chronoforms5 and check if the problem persists ?

Best regards,
Max
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
burf 09 Feb, 2017
Hello, I checked the encodings, and they seem to be okay:
[list]The database uses "utf8mb4_unicode_ci"
The chronoengine tables use "utf8mb4_unicode_ci"
[/list]

But still, when I switch to PHP 7, open a form, open any dropdown or radio button containing special characters, close it, and save the form, some (not all!) special characters (Umlaute, ß, …) at different places within the form will change ("wählen …" changes to "wählen …"). This does not happen when I switch back to PHP 5.6 (I need to correct the changed characters, though).

The database's list of values says:

character set client = latin1
Value for this session = utf8mb4

character set connection = latin1
Value for this session = utf8mb4



Might this cause the problem? (Don't know how to change the latin1 to utf8mb4.)

I work with:
MySQL version is 5.6.35
Joomla version is 3.6.5
ChronoForms V5 is the latest versions (component from 30-12-2016 19:46)
Max_admin 10 Feb, 2017
Hi burf,

Could you please ask your host admin how to update the latin1 values to utf8 then restart the web server and try again ? maybe they are the source of the issue, I'm not sure really.

Best regards,
Max
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
GreyHead 10 Feb, 2017
Hi burf,

On my site running PHP 7 the settings are

PHP default_charset : UTF-8 (on the PHP Info page)

Database Collation : utf8_general_ci
Database Connection Collation : utf8mb4_general_ci

Bob
burf 13 Feb, 2017
Hi,

first of all: thanks. Strato (my host admin) unfortunately does not support any (!) questions regarding character set values or php questions …

Solved: I remove, and freshly installed Chronoforms, and then switched to PHP 7. This now seems to work (and I won't again change it unless I have to :-).

Not solved: Checking, however, the "PHP Boost" (i.e. MySQL only checkes the php.ini within the root directory in order to speed up things) again destroys the characters. PHP.ini contains the one row: default_charset = "UTF-8"

All of this only relates to chronoforms. AcyMailing and the rest of Joomla are not affected. So I still wonder, if not Chronoforms is doing all this.

Carsten
GreyHead 13 Feb, 2017
Hi burf,

I've never heard of PHP Boost? And I doubt that you are using a PHP.ini file with only one line. What shows up in the Site Admin > System Information > PHP Information page?

As I said before I don't know of anything in CF that will change the character set. We have seen something similar before with other Joomla! plug-ins that 'security check' submitted data - sometimes they can block or modify data.

Bob
burf 13 Feb, 2017
Hi Bob,
I did not add any security check plug-ins, so this cannot be the problem.

The PHP information is:
Safe-Mode Aus
Open-Basedir Keine
Fehler anzeigen Aus
Kurze Open-Tags An
Datei-Uploads An
Magic-Quotes Aus
Register-Globals Aus
Ausgabe zwischenspeichern Aus
Sitzungsspeicherpfad 2;/var/tmp
Sitzungsautostart 0
XML aktiviert Ja
Zlib aktiviert Ja
Natives ZIP aktiviert Ja
Deaktivierte Funktionen Keine
Mbstring aktiviert Ja
Iconv verfügbar Ja
Mcrypt aktiviert Ja
Maximale Eingabevariablen 4000


And System Information:
PHP erstellt für: SunOS localhost 5.10 Generic_142901-13 i86pc
Datenbankversion: 5.6.35-log
Datenbankzeichensatz: utf8mb4_unicode_ci
Datenbankverbindungszeichensatz: utf8mb4_general_ci
PHP-Version: 7.0.15
Webserver: Apache/2.2.31 (Unix)
PHP-Interface für den Webserver: cgi-fcgi
Joomla!-Version: Joomla! 3.6.5 Stable


This all looks good, doesn't it?

Carsten
burf 13 Feb, 2017
PS:

This was the PHP Preferences … The PHP Information reads: "default_charset: iso-8859-1".

I have no access to the original strato PHP so I tried to overwrite the default charset with another PHP within the root directory of Joomla. All I read about this was to simply add this one line: default_charset = "UTF-8" And when I add the php.ini file with this one line to the root directory, the PHP Information changes to "default_charset: UTF-8". So this seems to work …

Carsten
burf 13 Feb, 2017
Answer
1 Likes
Solved!

It now seems to work: adding a php.ini file into the Joomla root directory and into the Joomla administrator directory with only the one line PHP.ini contains the one row: default_charset = "UTF-8" This will, so it seems and so did I read somwhere, overwrite Strato's own PHP which users don't have access to. After deleting all caches, logging out, and after a lot of testing with and without the php.ini file, the problem seems to be solved. Hopefully …

So: Strato users, be careful with switching from PHP 5.x to PHP 7 & Chronoforms – it's a Strato problem, though!

Thanks a lot, Bob and Max, your comments helped.
This topic is locked and no more replies can be posted.