Sonderzeichenproblem

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Sonderzeichenproblem

Beitrag von dutch »

Hallo zusammen,

eine meiner sites zeigt auf einmal alle Sonderzeichen falsch.
Ich nehme an, dass der Provider mal wieder irgendetwas ein Update verpasst hat.

Es ist eine 4.1.6 Installatiomn. Bis letzte Woche war noch alles mit den Zeichen ok.

PHP Version ist (jetzt) 5.6.30. Ich weiß nicht genau, was der Provider verändert hat (PHP-Version? Datenbank?)

Ich habe im global_header charset=iso-8859-15 stehen.
Und auch in der common.inc.php wurde

Code: Alles auswählen

header('Content-type: text/html; charset=ISO-8859-15'); 
ergänzt, was in anderen Fällen (bei anderen sites) bei mir geholfen hat, dieses Mal aber leider nicht.

In den Artikeln steht z.B. anstelle eines € nur ein ?.
Wenn ich den Artikel bearbeite, kann ich zwar das ? durch ein € ersetzen (im Editor eingeben) aber beim Speichern fliegt es sofort wieder raus und wird zum ?


Was kann ich noch probieren, um das Problem zu beheben?

Ich habe das gleiche Problem jetzt innerhalb einer Woche bei 2 unterschiedlichen Providern.

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Du müsstest erst mal die Seite aufrufen (kann ich ja nicht da die URL unbekannt ist, mal wieder) und schauen was der Browser für eine Codierung sieht.

Dann prüfen ob irgendwelche zuletzt geänderten Dateien auf dem Server UTF codiert sind. Hatten wir neulich erst im Forum, da wurde eine Datei mit einem Editor bearbeitet, der unbedingt UTF codieren wollte.

edit: auf einer Deiner Seiten habe ich die UTF-8+ (also mit BOM) Codierung gefunden. Da ist bestimmt eine UTF-Datei beteiligt. _cfg/db.inc.php ???

Habe es gerade mal bei mir per db.inc.php provoziert und konnte das Verhalten reproduzieren.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo Markus,

eine Seite mit einigen Sonderzeichenfehlern wäre:
http://www.ebgnoordholland.nl/cms/_haar ... p?rubric=6

Auch im Quelltext stehen die Fragezeichen bzw. anderen 'Unsinn'-Zeichen ;)

Da ich der Einzige bin, der Zugriff über FTP hat, und ich an der Seite seit Jahren nichts getan habe, kann ich mir nicht vorstellen, dass sich da UTF codierte Dateien 'eingeschlichen' haben könnte.
Eine (von Kunden hochgeladene) entsprechende Datei im _data Verzeichnis kann so einen Fehler doch wohl eher nicht auslösen, oder? :shock:

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hm, da ist es wohl ein anderes Problem...

Muss jetzt leider erst mal weg...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Danke schon mal für die Hilfe.

Ich habe das Problem auch schon dem Provider (one.com) gemeldet.
Der schweigt sich aber bisher aus...

Gruß,
dutch

EDIT:
Habe gerade von one.com die Mitteilung erhalten, dass in der betreffenden Database verschiedene charsets verwendet wurden... :roll:

Meine Anfrage an one.com betraf aber eine andere cpo site (mit dem gleichen Problem). Dort ist es jetzt gelöst, darum hoffe ich, dass es jetzt auch für diese site gelöst wird. Noch eben abwarten also ;)
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

dutch hat geschrieben:Hallo Markus,

eine Seite mit einigen Sonderzeichenfehlern wäre:
http://www.ebgnoordholland.nl/cms/_haar ... p?rubric=6

Auch im Quelltext stehen die Fragezeichen bzw. anderen 'Unsinn'-Zeichen ;)
Aufgerufen im Browser sehe ich hier im Quelltext

Code: Alles auswählen

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ja, lach :lol:

Da meine wohl der Serverbetreiber dass man nur UTF8 draufschreiben muss damit es UTF8 ist.

Das Problem zeigt sich dann bei http://www.ebgnoordholland.nl/cms/_admin/
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hi,

stimmt, ich hatte gestern zum Test einmal UTF-8 sowohl in den meta-tag als auch in der common.inc.php (anstelle des iso-force Zusatzes) eingesetzt und damit konnte ich wenigstens die Inhalte über den Editor wieder speichern.
Wenn ich also ein € Zeichen eingebe und speichere, bleibt es auch ein € und wird nicht zum ?

Leider verhaut diese Anpassung (logischerweise) andere Teile der site... :roll:

Ich habe in der Datenbank nachgeschaut und dort steht überall UTF-8, was ja scheinbar auch der Standard ist.

Inzwischen habe ich im meta-tag und der common.inc.php wieder iso eingesetzt. Womit ich wieder am Anfang wäre... :lol:

@Markus
Wie kann ich denn feststellen, ob eine Datei ISO oder UTF-8 kodiert ist?
Ich bearbeite meine Dateien schon seit Jahren mit den gleichen Programmen und im speziellen Fall wurde auch an den CPO Dateinen schon länger nichts mehr verändert...


Und zum Schluss noch einmal meine alte Lieblingsfrage zum Thema, da ich mich nicht zum ersten Mal damit herumärgere:
WARUM benötigt ConPresso eigentlich iso-8859-1 und nicht utf-8 wie scheinbar der Rest der Welt??? *jammer*

Gruß,
dutch
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

dutch hat geschrieben:Und zum Schluss noch einmal meine alte Lieblingsfrage zum Thema, da ich mich nicht zum ersten Mal damit herumärgere:
WARUM benötigt ConPresso eigentlich iso-8859-1 und nicht utf-8 wie scheinbar der Rest der Welt??? *jammer*
Meine Meinung? Weil die Entwickler von ConPresso es bisher versäumt haben oder die Ressourcen nicht aufbringen können/konnten, ConPresso auf Multibyte-Funktionen umzustellen.
Natürlich fehlt auch eine breitere Modul-Entwicklergemeinde, die ihre Module auf UTF-8 umstellt.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Balu hat hier schon mehrfach drüber referiert, z.B.
http://community.conpresso.de/viewtopic ... 5486#25486
http://community.conpresso.de/viewtopic ... 7325#27325

Einige PHP-Funktionen sind wohl nicht UTF-8 kompatibel und die Standard-Codierung von mySQL ist auch latin.
Ich hatte ja auch schon mal eine komplette Umstellung auf UTF-8 probiert und bin an den massiven Problemen gescheitert.
Andere Systeme erstellen halt eine Schnittstelle zu den verschiedenen PHP- bzw. mySQL-Versionen und auch zu anderen Datenbanken.
Aber eigentlich ist die Nutzung von iso-8859-1 doch gar kein Problem. Bei allen bekannten Providern sind die Systeme doch entsprechend konfiguriert. Meist gibt es Probleme wenn ein semiprofessioneller Serverbetreiber (z.B. bei Hochschulen) unbedingt seinen Kopf durchsetzen muss.
Da hilft dann ein sofortiger Providerwechsel, denn so billig kann der gar nicht sein dass man sich drangsalieren lassen muss...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

dutch hat geschrieben:@Markus
Wie kann ich denn feststellen, ob eine Datei ISO oder UTF-8 kodiert ist?
Textditoren wie EditPlus Notepad++ und andere zeigen das an.
Und im Browser kann man auch die Codierung ablesen.
Dateianhänge
codierung3.jpg
codierung2.jpg
codierung1.jpg
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hi,

danke für die Antworten.
NotePad++ zeigt mir für (fast) alle cpo Dateien UTF-8 an, auch bei den frisch von der ConPresso site heruntergeladenen originalen Dateien.

Ich habe eine ganze Reihe Dateien in Notepad++ geöffnet und nur bei buildpage.inc.php und secure.php wurde ANSI Kodierung angezeigt.

Inzwischen habe ich aber auch gemerkt, dass ich die falsche Datenbank auf Kodierung kontrolliert hatte... :wall:

Jetzt die richtige kontrolliert und siehe da: alle Tabellen sind mit latin1_swedish_ci (warum auch immer) aber ganz unten steht dann doch uft8_general_ci

Liegt hier dann vermutlich das Problem?

Gruß,
dutch
Dateianhänge
database.jpg
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Schau mal ob bei Notepad++ irgendeine Einstellung dafür sorgt, dass Dateien zwangsweise auf UTF8 umcodiert werden.
Weiß nicht mehr ob das der Grund ist warum ich nur mit EditPlus arbeite.

Dass die Tabellen in latin sind ist ok.

Du kannst ja mal in phpMyAdmin via Operationen die Kollation der Datenbank selbst umstellen.

Auf neueren Server läuft bei mir alles in der Datenbank auf UTF8 ohne dass dies nachteilig für ConPresso wäre.

Du könntest man die beiliegende _include/db_mysql.inc.php testen, die stellt auch die Verbindung zwangsweise auf ISO.
Dateianhänge
db_mysql.inc.zip
(1.92 KiB) 204-mal heruntergeladen
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hi Markus,

danke für die Datei.
Ich habe aber noch eine Anfrage bei one.com laufen, ob die die Datenbank nicht auch anpassen können, so wie bei der anderen site, bei der es jetzt wieder läuft. Dort haben sie auch alles auf utf-8 umgestellt und funktioniert wunderbar.

Die db Datei probiere ich aber dann gerne aus, wenn die Anfrage durch ist!

Wenn Notepad++ alles zwangsweise auf UTF-8 umkodieren würde, müssten doch auch die beiden Dateien, die auf ANSI standen, umkodiert sein, oder gibt es Dateien, die sich dagegen erfolgreich widersetzen? 8)
Die Notepad++ Einstellungen stehen hier unten.

Gruß,
dutch


EDIT:
Habe gerade in den Einstellungen von Notepad++ noch die Stelle gefunden unter "New document" wo man einen Haken setzen kann bei 'ANSI codierung ignorieren'.
Wenn ich den Haken rausnehme, sind die CPO Dateien dann auch alle ANSI ;)
Auch die db.inc.php der betreffenden site
Dateianhänge
notepad++.jpg
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich meine diese Einstellung (siehe Anlage).

Das muss auf ANSI stehen oder zumindest NICHT auf Umwandlung von ANSI-Dateien beim Öffnen!
Dateianhänge
notepadpp.jpg
Zuletzt geändert von MarkusR am 12.05.2017 18:42, insgesamt 1-mal geändert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Antworten