russischer zeichensatz

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

russischer zeichensatz

Beitrag von baluo »

liebe leute,

die folgende frage wurde schon einmal gestellt, aber leider nie beantwortet (hier ):
wenn ich eine mehrsprachige Webseite erstelle und eine Sprache davon Russisch ist, ist meine Frage, wie ich die russischen Zeichen in die Artikel bekomme?
vor dem selben problem stehe ich nun leider auch, mit einem beispiel bisher hier: http://www.dw-dith.de/cpo/migration-ru/ ... gration-ru

der lokal_header enthaelt in diesem projekt einen teil der meta-tags, u.a. auch die zeichensatz-zuweisung fuer dieses verzeichnis

Code: Alles auswählen

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="ru">
wie zu sehen, geben firefox und opera nur fragezeichen aus, der ie6 gleich nur eine leere.

zudem wandelt cpo4.05 den russisch formatierten quelltext (uebernommen aus der bisherigen statischen website nach dem abspeichern des artikels und neuaufruf in zeichensalat um, der dann auch so angezeigt wird.

diese zeichensatzvorgabe

Code: Alles auswählen

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251 ">
<meta http-equiv="Content-Language" content="ru">
zeigt mir zwar den russischen text (fast) richtig an, dann habe ich aber probleme mit den deutschen sonderzeichen in der navigation, die (trotz ergaenzung in der include/parser.php - siehe hier) nicht umgewandelt werden ... aber das waere noch ein zweites problem.

der notwendige zeichensatz waere also utf-8, aber der produziert im ff nur "??" (fragezeichen und andere merkwuerdige symbole) und im ie gleich gar nichts (leere seite).

habt ihr einen guten workaround (i-frame geistert durch meinen kopf, falls das funktioniert) oder gibt es bereits eine elegantere loesung ???

danke und gruss, gerhard
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hi Gerhard,

versuch mal das Backend auch auf utf-8 umzustellen (_include/header.php).

Allerdings hast Du dann noch das Problem, dass Deine Datenbank vermutlich nicht mit utf-8 arbeitet. Aus diesem Grund kann ich nicht ganz vorhersehen, wo es da noch ueberall haken koennte (auch wenn es erst so aussieht, als wuerde es funktionieren).

Das Problem mit utf-8 ist, dass es bis heute von PHP nicht ordentlich unterstuetzt wird. Es gibt verschiedene Ansaetze und Moeglichkeiten, aber eine vollstaendige Unterstuetzung wird wohl erst in PHP6 verfuegbar sein. Das kann dazu fuehren, dass Woerter falsch umgebrochen oder auseinander genommen werden (utf-8 benutzt fuer einen Buchstaben mehrere Bytes).

Balu
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

danke, grosser namensvetter (ohne o),
balu hat geschrieben:versuch mal das Backend auch auf utf-8 umzustellen (_include/header.php).
wo und wie kann ich das bewerkstelligen -- du weisst doch, ich bin euer DAU :wink:
Allerdings hast Du dann noch das Problem, dass Deine Datenbank vermutlich nicht mit utf-8 arbeitet.
update:
hmmm, ich habe mal in der datenbank nachgeschaut
phpMyAdmin 2.6.4-rc1
MySQL 3.23.56-max-nt auf localhost als dwdith@localhost
und kann dort tatsaechlich (gleich auf der eingangsseite) auf "German de-utf-8" umstellen ... was passiert, wenn ich das mache ... und ist es ggf. wieder rueckgaengig zu machen (und: ist obiges zitat problematisch, sodass ich es besser wieder loesche ?) ??

danke und gruss, gerhard
Zuletzt geändert von baluo am 08.02.2007 07:48, insgesamt 1-mal geändert.
Tor3
ConPresso-User
Beiträge: 82
Registriert: 11.12.2006 13:02
Danksagung erhalten: 5 Mal

Beitrag von Tor3 »

baluo hat geschrieben:
balu hat geschrieben:versuch mal das Backend auch auf utf-8 umzustellen (_include/header.php).
wo und wie kann ich das bewerkstelligen -- du weisst doch, ich bin euer DAU :wink:
probiere mal _include/header.php und eben genauso wie Du es im "lokal_header" getan hast...
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo tor3 und balu,
Tor3 hat geschrieben:probiere mal _include/header.php und eben genauso wie Du es im "lokal_header" getan hast...
wuerde ich ja gerne tun und habe auch schon nachgeschaut -- aber konnte keine stelle finden, an der ein charset-eintrag sinn gemacht haette ...

koennt ihr mir auf die spruenge helfen ??

danke, gerhard


nachtrag:
vorlaeufig habe ich mit einem i-frame und dem einbinden eigener russischer textseiten beholfen --- aber das verhindert natuerlich die direkte bearbeitung der seiten durch lokale redakteure, was ja eigentlich sinn dieser uebung ist.
Tor3
ConPresso-User
Beiträge: 82
Registriert: 11.12.2006 13:02
Danksagung erhalten: 5 Mal

Beitrag von Tor3 »

baluo hat geschrieben:hallo tor3 und balu,
Tor3 hat geschrieben:probiere mal _include/header.php und eben genauso wie Du es im "lokal_header" getan hast...
wuerde ich ja gerne tun und habe auch schon nachgeschaut -- aber konnte keine stelle finden, an der ein charset-eintrag sinn gemacht haette ...

koennt ihr mir auf die spruenge helfen ??

danke, gerhard
Vor oder nach der Zeile

Code: Alles auswählen

<meta http-equiv="pragma"   content="no-cache">
wäre nicht schlecht... das könnte dann so aussehen:

Code: Alles auswählen

<meta http-equiv="pragma"   content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="Content-Language" content="ru">
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo tor3,
Tor3 hat geschrieben:Vor oder nach der Zeile

Code: Alles auswählen

<meta http-equiv="pragma"   content="no-cache">
danke fuer diesen hinweis -- irgendwie muss ich blind gewesen sein.

aber leider funktioniert es noch immer nicht so recht: mit utf-8 zeigt mir der ie6 im frontend der website eine blanke seite an, und im backend erhalte ich zwar den cpo-frame, aber kein anmeldefenster ...

was hat das mit utf-8 zu tun ?
fragt sich :gruebel:
gerhard
Tor3
ConPresso-User
Beiträge: 82
Registriert: 11.12.2006 13:02
Danksagung erhalten: 5 Mal

Beitrag von Tor3 »

Bei meinem IE6 ist das Frontend
http://www.dw-dith.de/cpo/migration-ru/ ... gration-ru
nicht leer...

und im Backend ist es im Quelltext nicht drin...
http://www.dw-dith.de/cpo/_admin

???
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Tor3 hat geschrieben:Bei meinem IE6 ist das Frontend
http://www.dw-dith.de/cpo/migration-ru/ ... gration-ru
nicht leer...

und im Backend ist es im Quelltext nicht drin...
http://www.dw-dith.de/cpo/_admin

???
ja, das war korrekt, weil ich die zeichensatz-zuweisung gleich wieder heraus genommen habe. momentan ist sie wieder drin, du kannst dir ja mal das anschauen:
http://www.dw-dith.de/cpo/migration-ru/ ... ?rubric=43
ist die russische test-seite in einem gesonderten verzeichnis mit utf-8-zuweisung.
und http://www.dw-dith.de/cpo/_admin waere die backend-anmelderseite -- ist bei mir im ie6 ist sie bis auf den frameset leer; ff2 und opera funktionieren, aber mit fehlerhafter darstellung der deutschen sonderzeichen.
interessanterweise, so habe ich gerade gesehen, wird im ie6 (und fast browser, der offenbart auf ie aufsetzt) der quelltext der seite zwar komplett uebertragen -- aber eben nicht angezeigt.

danke, gerhard
Tor3
ConPresso-User
Beiträge: 82
Registriert: 11.12.2006 13:02
Danksagung erhalten: 5 Mal

Beitrag von Tor3 »

Tja... wenn ich manuell den IE auf Kyrillisch(Windows) einstelle, dann ist alles da und auch die Russischen Zeichen sehen gut aus...

Warum der wohl nicht selbst automatisch umschaltet???

vermutlich braucht man ein russisches Windows... :wink:
Tor3
ConPresso-User
Beiträge: 82
Registriert: 11.12.2006 13:02
Danksagung erhalten: 5 Mal

Beitrag von Tor3 »

Vermutlich sendet Dein Server ebenfalls entsprechende Informationen und Du solltest das mittels .htaccess-Datei anpassen.

Hier habe ich ein paar passende Infos gefunden:
http://www.w3.org/International/questio ... ss-charset
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

baluo hat geschrieben:hmmm, ich habe mal in der datenbank nachgeschaut
phpMyAdmin 2.6.4-rc1
MySQL 3.23.56-max-nt auf localhost als dwdith@localhost
und kann dort tatsaechlich (gleich auf der eingangsseite) auf "German de-utf-8" umstellen ... was passiert, wenn ich das mache ... und ist es ggf. wieder rueckgaengig zu machen (und: ist obiges zitat problematisch, sodass ich es besser wieder loesche ?) ??
Die Einstellung, die Du direkt auf der Eingangsseite aendern kannst ist nur die "Default-Sortierung" der Datenbanktabellen, aber nicht die Art, wie Inhalte gespeichert werden. Um ehrlich zu sein glaube ich, dass UTF8 in MySQL 3.X eher problematisch werden wird.

Balu
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo balu,
balu hat geschrieben: Um ehrlich zu sein glaube ich, dass UTF8 in MySQL 3.X eher problematisch werden wird.
deswegen habe ich mich auch noch nicht getraut, dies umzustellen ...

also, wenn ich das richtig sehe, gibt es keine "einfache" loesung (= cpo-immanent) fuer dieses problem ... ausser eben einen i-frame, wie exerziert ...

wieso funktioniert denn eigentlich das selbe verfahren mit derselben datei nicht ueber mod_inline ?? wenn ich eine seite so einfuege, dann wird entweder der russische text verkruxt dargestellt oder - nach umstellung des browser auf utf-8 - die deutschen sonderzeichen, der russische text dann allerdings perfekt ...
zu sehen voruebergehend hier: http://www.dw-dith.de/cpo/migration/index.php?rubric=4

gerhard
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Mod_Inline macht das gleiche wie Conpresso, da es auf PHP aufsetzt. D.h. es werden HTML-Seiten generiert, die komplett an den Browser geschickt werden. Mod_inline arbeitet nicht erst im Browser (nur bei Javascript-Einsatz, aber das ändert auch nichts dran).

Der Unterschied zu Frames ist, dass dadurch ein eigenständiges Browserfenster (z.B. in einer Seite) geöffnet wird. Dadurch wird nicht der ganze Zeichensatz der kompletten Seite umgestellt.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Matthias V hat geschrieben:Der Unterschied zu Frames ist, dass dadurch ein eigenständiges Browserfenster (z.B. in einer Seite) geöffnet wird. Dadurch wird nicht der ganze Zeichensatz der kompletten Seite umgestellt.
also bleibt mir derzeit nur dieser weg ?? oder ...

andererseits:
da sich in deutschland / westeuropa (und selbst hier in adelaide) zunehmend mehr russisch-sprachige menschen befinden und die laender auch zunehmend zusammen ruecken, ist ja naheliegend, dass sich dieses problem fuer conpresso bald wiederholt.

also, wenn ihr "conpresso-leute" bei einer weiteren version des programmes eine entsprechende anpassung einbauen koenntet, waere das sicher hilfreich. oder wisst ihr zufaellig, ob sonst schonmal jemand mit cpo vor diesem problem gestanden hat und wie es geloest wurde ?

ciao, gerhard
Antworten