[geloest] Probleme mit Zeichen-Kodierung

Deutschsprachiger Support für CMS Made Simple
mm231
Forum Members
Forum Members
Posts: 18
Joined: Mon May 28, 2007 1:04 pm

[geloest] Probleme mit Zeichen-Kodierung

Post by mm231 »

Hallo zusammen,

auf meiner Website www.monkfan.de stehen teilweise Begriffe oder Sätze in tschechisch (z.B. http://monkfan.de/s01e06 unter "Weitere Titel"). Das Problem ist, dass bestimmte Buchstaben nur als Fragezeichen angezeigt werden. Woran liegt das? Ich nutze tinyMCE. Gebe ich dort den Ausdruck ein, sieht er sowohl im WYSIWYG als auch im Quellcode normal aus. Speichere ich, werden statt einigen Buchstaben Fragezeichen angezeigt. Gebe ich den Ausdruck direkt in der DB ein, erscheint die Meldung:
Warning: #1366 Incorrect string value: '\xC5\x99sk\xC3\xBD...' for column 'content' at row 1

Ich habe alles auf UTF-8 umgestellt (auch in der include.php) und auch die Servervariablen stimmen:
character set client utf8
character set connection utf8
Das einzige was nicht als UTF-8 deklariert ist, ist die Kollation der Tabellen (latin1_general_ci). Ist das das Problem? Wenn ja, kann ich die Kollation einfach ändern?
Achaja, ich nutze CMSMS 1.2.5.
Last edited by mm231 on Fri Jun 13, 2008 3:06 pm, edited 1 time in total.
mike-r

Re: Probleme mit Zeichen-Kodierung

Post by mike-r »

Um welche Buchstaben handelt es sich denn?
Ich hab auf Verdacht in einer Installation ein "miliardář" (kann kein Tschechisch, und weiss nicht, was Du da genau stehen hast ) mit Tiny getestet: läuft prima.
In der DB steht bei meinen Tabellen ein Kollation: latin1_swedish_ci, sollte also mit general theoretisch genauso wenig Probleme machen können...
mm231
Forum Members
Forum Members
Posts: 18
Joined: Mon May 28, 2007 1:04 pm

Re: Probleme mit Zeichen-Kodierung

Post by mm231 »

miliardářský lupič müsste da statt miliardá?ský lupi? stehen.
cyberman

Re: Probleme mit Zeichen-Kodierung

Post by cyberman »

mm231 wrote: Das Problem ist, dass bestimmte Buchstaben nur als Fragezeichen angezeigt werden. Woran liegt das?
Fragezeichen werden immer dann angezeigt, wenn der Browser ein Zeichen erkennt, was mit dem aktuellen Charset nicht dargestellt werden kann.
Ich habe alles auf UTF-8 umgestellt (auch in der include.php) und auch die Servervariablen stimmen:
character set client utf8
character set connection utf8
???

Ist eigentlich nur in der config.php erforderlich ...

Code: Select all

$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';
Bei dir muss irgend wo noch ein Problem stecken. Verwendest du ein Modul für den Episodenguide?

Hab das Wort gleich mal getestet - hier ohne Probleme.

http://test.cmsmadesimple.de/index.php?page=tschechisch
Das einzige was nicht als UTF-8 deklariert ist, ist die Kollation der Tabellen (latin1_general_ci). Ist das das Problem?
Die Kollation der DB-Tabellen hat nix mit der Anzeige zu tun.
mm231
Forum Members
Forum Members
Posts: 18
Joined: Mon May 28, 2007 1:04 pm

Re: Probleme mit Zeichen-Kodierung

Post by mm231 »

cyberman wrote:
Ist eigentlich nur in der config.php erforderlich ...

Code: Select all

$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';
default_encoding war leer, ich habe nun utf-8 eingetragen (obwohl dort ja steht, wenn die Angabe leer bleibt, utf-8 verwendet wird), Problem bleibt aber.
Bei dir muss irgend wo noch ein Problem stecken. Verwendest du ein Modul für den Episodenguide?
Nein, kein Modul. Das sind Einzelseiten (also pro Episode eine Seite).
cyberman

Re: Probleme mit Zeichen-Kodierung

Post by cyberman »

Und wo holst du die Übersetzung her? Via Copy & Paste?
mm231 wrote: miliardářský lupič
Und was steht hier bei dir im html Source?
Wiedmann
Forum Members
Forum Members
Posts: 233
Joined: Wed Mar 26, 2008 1:49 am

Re: Probleme mit Zeichen-Kodierung

Post by Wiedmann »

Das einzige was nicht als UTF-8 deklariert ist, ist die Kollation der Tabellen (latin1_general_ci). Ist das das Problem?
Yup.
Wenn ja, kann ich die Kollation einfach ändern?
Jein. Einfaches Ändern geht nicht, aber evtl. korrigieren. Das kommt jetzt ganz auf die "Vorgeschichte" der DB ab, sprich:Was du genau in der "include.php" geändert hast. Und wann (gab es davor und danach Einträge in die DB?)?
Last edited by Wiedmann on Mon Jun 09, 2008 11:55 am, edited 1 time in total.
mm231
Forum Members
Forum Members
Posts: 18
Joined: Mon May 28, 2007 1:04 pm

Re: Probleme mit Zeichen-Kodierung

Post by mm231 »

cyberman wrote: Und wo holst du die Übersetzung her? Via Copy & Paste?
Copy/Paste.
Und was steht hier bei dir im html Source?
Wo "hier?"
Jein. Einfaches Ändern geht nicht, aber evtl. korrigieren. Das kommt jetzt ganz auf die "Vorgeschichte" der DB ab, sprich:Was du genau in der "include.php" geändert hast. Und wann (gab es davor und danach Einträge in die DB?)?
Ich habe die // in der Zeile $cmsdb->Execute('set names utf8'); entfernt. Anschließend waren z.B. Umlaute und Sonderzeichen  unleserlich (das war mir aber vorher klar, daher habe ich das anschließend mit einem Tool direkt in der DB korrigiert). Das Einzige, was nicht korrigiert wurde und auch manuell nicht funktioniert sind eingie der tschech. Buchstaben.
Wiedmann
Forum Members
Forum Members
Posts: 233
Joined: Wed Mar 26, 2008 1:49 am

Re: Probleme mit Zeichen-Kodierung

Post by Wiedmann »

Ich habe die // in der Zeile $cmsdb->Execute('set names utf8'); entfernt.
Im Prinzip ist das "unnötig". Ausser natürlich, man möchte den Contentinhalt auch z.B. direkt mit phpMyAdmin bearbeiten. (CMSMS hat keine Ahnung von Unicode fähigen Datenbanken)

(Allerdings solte dieser Aufruf normal schon in der "adodb.functions.php" erfolgen (in adodb_connect) und um 'utf8' gehören eigentlich ein paar Quotes.)

Wenn man diesen Eintrag aktiviert, muss auch wirklich jede Tabelle in der DB eine entsprechende UTF-8 Collation/Charset haben (und das Default Charset für die DB am besten auch, falls man neue Module hinzufügt). Wenn die Tabellen vor diesem Punkt schon Inhalt haben, braucht man dazu ein spezielles Vorgehen, damit die Zeichen nicht falsch verändert werden in der DB. Da du den Inhalt ohne Anpassen des Table-Charsets "von Hand" falsch verändert hast, ist das gar nicht so einfach, dass wieder automatisch zu korrigieren...
cyberman

Re: Probleme mit Zeichen-Kodierung

Post by cyberman »

mm231 wrote:
cyberman wrote: Und wo holst du die Übersetzung her? Via Copy & Paste?
Copy/Paste.
Dann schau mal, welches Charset das Original verwendet.

So kann es durchaus Probleme machen, wenn du etwas von einer anders kodierten Webseite nach utf-8 kopierst, dass dann der anders kodierte Source eingefügt wird, der dann unter utf-8 Fragezeichen produziert - deswegen die Frage:
Und was steht hier bei dir im html Source?
Wo "hier?"
Sorry, natürlich in der Source-Ansicht von TinyMCE ;) ...
mm231
Forum Members
Forum Members
Posts: 18
Joined: Mon May 28, 2007 1:04 pm

Re: Probleme mit Zeichen-Kodierung

Post by mm231 »

Code: Select all

text/html;charset=windows-1250
Im TinyMCE steht nach Eingabe sowhl im WYSIWYG als auch im Soruce miliardářský lupič, auch nach dem Klicken von "Anwenden". Klicke ich auf "Absenden", so dass ich in der Seitenübersicht bin und öffne die Seite nochmals, steht im WYSIWYG und auch im Source miliardá?ský lupi?
cyberman

Re: Probleme mit Zeichen-Kodierung

Post by cyberman »

Hmm, seltsam - wie du sicherlich bei mir gesehen hast, funktioniert es.

Ändere mal die Kodierung in den Voreinstellungen des Tiny (ist im Normalfall RAW) und gib dann nochmal das Wort neu ein.
Wiedmann
Forum Members
Forum Members
Posts: 233
Joined: Wed Mar 26, 2008 1:49 am

Re: Probleme mit Zeichen-Kodierung

Post by Wiedmann »

Im TinyMCE steht nach Eingabe sowhl im WYSIWYG als auch im Soruce miliardářský lupič, auch nach dem Klicken von "Anwenden".
Hier ist noch keine DB im Spiel.
Klicke ich auf "Absenden", so dass ich in der Seitenübersicht bin und öffne die Seite nochmals, steht im WYSIWYG und auch im Source miliardá?ský lupi?
Wenn du für die DB-Verbindung/Results utf-8 vorgibst, deine Tabellen Latin haben, wie schon gesagt der logische Effekt.
text/html;charset=windows-1250
Wieso steht da wo windows-1250, wenn du doch eigentlich mit utf-8 arbeiten willst (oder ist das nicht vom CMSMS)?
cyberman

Re: Probleme mit Zeichen-Kodierung

Post by cyberman »

Wiedmann wrote:
text/html;charset=windows-1250
Wieso steht da wo windows-1250, wenn du doch eigentlich mit utf-8 arbeiten willst (oder ist das nicht vom CMSMS)?
Das ist von der Seite, von der die tschechische Übersetzung kopiert wird ;) ...
Wiedmann
Forum Members
Forum Members
Posts: 233
Joined: Wed Mar 26, 2008 1:49 am

Re: Probleme mit Zeichen-Kodierung

Post by Wiedmann »

cyberman wrote:Das ist von der Seite, von der die tschechische Übersetzung kopiert wird
Ah. ok. Dachte schon von CMSMS.

(Von der Quelle interessiert das ja nicht wirklich, da der Browser sowas korrekt nach utf-8 umkodiert, beim coipy 'n paste in das utf-8 formular von CMSMS)
Post Reply

Return to “German - Deutsch”