Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 29. November 2015 19:07
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Hi,
nach einem Serverumzug von domainfactory zu Strato kommen die Daten des Detail-Eingabefeldes nicht mehr korrekt in der Datenbank an. Der Grund scheint die auomatische Umwandlung von Umlauten bzw. Sonderzeichen des MicroTiny zu sein. Umlaute werden automatisch umgewandelt und der Inhalt kommt in der DB nur bis zum ersten & an bzw. wird nur bis dort gespeichert. An anderen Stellen scheint dieses Problem nicht aufzutreten (Inhaltsverwaltung, News). Hier werden die Sonderzeichen ebenfalls codiert, jedoch erfolgreich in der DB gespeichert.
Hat jemand eine Idee, woran es liegen könnte, wie ich das Problem beheben kann?
CMS-Version 2.0.1.1
CompanyDirectory 1.22.12
CGExtensions 1.49.11
CompanyDirectory 1.22.12
Derzeitige PHP-Version (phpversion) 5.6.14
Server-Datenbankversion (server_db_version) 5.5.46
Dank und Gruß
anti
Offline
#2 29. November 2015 21:42
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Ist das eine aktualisierte CMSMS-Version?
Hast du mal die Kollation der Tabellen des CompanyDirectory-Moduls angeschaut bzw. mit der des News-Moduls verglichen?
Eigentlich ist CompanyDirectory ein anwendungsspezifischer Fork des News-Moduls, aber scheinbar werden die Versionen bzw. deren Anpassungen nicht mehr synchron gehalten...
Offline
#3 30. November 2015 08:33
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Es war eine frische Installation. Die Kollation ist bei allen Tabellen utf8_general_ci. Sowohl bei der Installation vor dem Umzug, als auch nach dem Umzug.
Offline
#4 30. November 2015 11:03
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Wie gesagt ist CD ein Fork des News-Moduls.
Hab keine Idee, woran es liegen könnte, aber wenn ich vor dem Problem stünde, würde ich als nächstes den PHP-Code der edit Aktionen beider Module vergleichen ...
Offline
#5 01. Dezember 2015 10:08
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Ähmm, hat dich mein Hinweis nicht weitergebracht?
Oder warum fragst du an anderer Stelle nach? Der Form halber - du kannst fragen, wann oder wen du willst. Hier gibt's im Gegensatz zu anderer Stelle keine Maulkörbe .
Nur fände ich es schade, falls du dich nicht "traust" (?) zu sagen ... "nee, danke, bin kein Programmierer".
Wobei ich mich natürlich frage, wo die ISO-Kodierung bei dir her kommt, nachdem das komplette System eigentlich auf uft8 läuft ?! Copy & Paste?
Wenn ich unter utf-8 arbeite, sollte eigentlich auch utf-8 im Textfeld ankommen (sprich "ä"), und kein iso ("ä"). Oder hast du da irgend welche Voreinstellungen gesetzt, von denen wir nichts wissen ?
Für mich klingt es eher nach einem Bug ...
By the way - CD ist ein Modul von CG. Spätestens mit dem typisch deutschen ä hast du dich geoutet . Erwartest du da wirklich eine Antwort? Schon vergessen?
Offline
#6 01. Dezember 2015 10:37
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Der Grund scheint die auomatische Umwandlung von Umlauten bzw. Sonderzeichen des MicroTiny zu sein.
Dann würde das Problem aber nicht nur im CompanyDirectory auftauchen.
Umlaute werden automatisch umgewandelt und der Inhalt kommt in der DB nur bis zum ersten &
Jetzt wäre interessant zu wissen, was genau an die DB gesendet wurde.
Müsste man sich mal den Query ausgeben lassen.
Gibt der debug-Modus da eventuell Auskunft?
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 01. Dezember 2015 11:47
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
So, nun hab ich wieder Zeit mich drum zu kümmern. Der Post an anderer Stelle war einfach nur nach dem Motto, doppelt hält besser. Ich bin hier derzeit dermaßen am rotieren, dass ich nichts unversucht lassen kann. Aber wie du schon bemerktest, kommt aus dem Forum ja eh nichts zurück.
Ich hab mal grob versucht, in die Funktionen der beiden Module zu schauen und keinen für mich verständlichen Hinweis entdecken können.
Die Kodierung scheint der MicroTiny automatisch vorzunehmen. In den dürftigen Einstellungen des Moduls lässt sich das ja leider nicht deaktivieren.
Der Debug Modus spuckt mir folgenden Query aus:
[== mysql ==]UPDATE cms_module_compdir_companies
SET company_name = 'Bauweise', address = NULL, telephone = '', fax = NULL, contact_email = NULL,
website = NULL, details = '<p>Im Einzugsbereich der blablala \"Bewehrten Erde\" für die Umläute!</p>', picture_location = 'img01.jpg',
logo_location = '', status = 'published', latitude = NULL, longitude = NULL, owner_id = -1,
hier_id = -1, url = NULL, modified_date = NOW() WHERE id = '9'
Seltsamerweise werden die Umlaute hier übergeben, wie sie sollen. Jedoch werden sie trotzdem kodiert gespeichert.
Hat einer von euch vllt. eine Idee, an welcher Stelle ich suchen könnte, um herauszubekommen, welche Funktion mir den Content zerhaut?
Danke
Offline
#8 01. Dezember 2015 12:31
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Versuch mal, die Verbindung zur Datenbank explizit via config.php auf utf8 zu setzen
$config['set_names'] = true;
Offline
#9 01. Dezember 2015 12:45
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Danke, hat aber leider nicht geholfen
Was mich ja verwirrt, ist das es auf dem Testserver einwandfrei funktionierte und nun auf dem zukünftigen Produktivsystem nicht mehr klappt …
Offline
#10 01. Dezember 2015 13:16
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Seltsamerweise werden die Umlaute hier übergeben, wie sie sollen. Jedoch werden sie trotzdem kodiert gespeichert.
Lass Dir dazu im Debug-Modus mal den HTML-Code im Browser anzeigen (im Firefox ist das [STRG + U]). Und dann schau mal, ob da wirklich "ä" oder doch schon "ä" steht.
Ich kann im PHP-Code des Moduls nichts erkennen, was die Inhalte modifiziert bevor sie gespeichert werden.
Das muss bei Dir woanders klemmen. Bei mir ändert der MicroTiny zwar auch "ä" in "ä", aber in der DB kommt alles an. Nicht nur bis zum Umlaut.
Hast Du den Text vielleicht irgendwoher kopiert (z.B. aus MS Word etc.)?
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#11 01. Dezember 2015 13:41
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Lass Dir dazu im Debug-Modus mal den HTML-Code im Browser anzeigen (im Firefox ist das [STRG + U]). Und dann schau mal, ob da wirklich "ä" oder doch schon "ä" steht.
*ähem* da haste natürlich recht. Es stehen schon ¨s im HTML-Code.
Den Text gebe ich zum testen immer direkt ins Eingabefeld ein. Ich check's nicht
Offline
#12 01. Dezember 2015 14:07
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
nach einem Serverumzug von domainfactory zu Strato
Diese Umzugsrichtung kann ich allerdings nicht nachvollziehen ... nachdem, was ich in den vergangenen Jahren mit Strato erlebt habe, nein danke
. An dieser Stelle zu sparen ist IMHO sehr bedenklich ...
Ich vermute da eher bezüglich der Datenbank noch irgend welche "Boshaftigkeiten" seitens Strato. Deren Server liefen (soweit ich weiß) bis vor nicht all zu langer Zeit noch unter SunOS, und das gibts schon seit 10 Jahren offiziell gar nicht mehr. Ist das immer noch so?
Offline
#13 01. Dezember 2015 14:25
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Die Kodierung scheint der MicroTiny automatisch vorzunehmen. In den dürftigen Einstellungen des Moduls lässt sich das ja leider nicht deaktivieren.
Murks, Murks, Murks - ich weiß schon, warum ich die V 2 (bislang erfolgreich) links liegen lasse ...
Versuch mal, in der /modules/MicroTiny/templates/tiny_config.js dies einzubauen
tinymce.init({
selector: 'textarea',
entity_encoding : "raw"
});
Offline
#14 01. Dezember 2015 14:30
- antiheld2000
- kennt CMS/ms
- Registriert: 21. Dezember 2010
- Beiträge: 128
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
YEAH! Lifesaver! War kurz davor die Seite noch einmal auf einen anderen Server zu installieren und dort zu testen. DAAANKE!
Strato war übrigens auch nicht meine Wahl und das ist die erste und vorerst letzte 2er Version, die ich eingesetzt habe. So viel Mist, wie bei der Entwicklung dieser Seite mit der CMS Version ist mir lange nicht untergekommen.
Offline
#15 01. Dezember 2015 14:37
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS V2: CompanyDirectory - Fehlerhafte Sonderzeichen-Umwandlung
Gerade noch gesehen - selector ist in der benannten Datei bereits drin, so dass diese Ergänzung ausreichen sollte
tinymce.init({
entity_encoding : "raw"
});
Offline
Seiten: 1