Seite 1 von 1

Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 03:11
von Airport1
Kurz die Problemstellung:

Ermittle zu Domains den DMOZ Eintrag, nutze dazu die PHP Funktion utf8_decode() damit z.B. Umlaute wie in

Persönliche_Homepages

auch richtig konvertiert werden. Funzt auch bei allen Deutschen Kategorien wunderbar, bei russischen DMOZ Kategorien jedoch gar nicht, Beispiel:
https://www.ranking-hits.de/user/www.ruslink.de

Hier erscheint als Kategorie:
Top/World/Russian/??????_?_???????/??????/????????/????????????_?_????????

Ich habe schon versucht die Statistik Webseite per header() UND Meta in UTF-8 auszuliefern, es brachte jedoch keine Besserung (ausser dass dann natuerlich die deutschen Umlaute auch kaputt sind - immerhin ein Indiz dass wirklich UTF-8 ausgeliefert wurde ;-)).

Nun ratlos, weiss jemand weiter? robo?

Verfasst:
von

Verfasst: 31.03.2005, 03:14
von Moddy
Schonmal versucht auf deinem rechner die russischen Zeichen zu installieren?
Hatte das problem auchmal, Windows Cd rein, weiter Sprachpakete installiert und siehe da ... Funzt :)

Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 03:18
von Airport1
Moddy, erscheinen bei Dir - wenn Du die o.g. Statistik-URL aufrufst - russische Zeichen? Wichtige Frage!

Wenn ich direkt die ruslink Domain aufrufe erscheint diese bei mir mit russischem Zeichensatz. Liegt vielleicht daran dass die Seite folgenden META verwendet - laeuft das bei allen russischen Webseiten so?:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Re: Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 09:01
von dein_opi
Airport1 hat geschrieben:<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
ja, das ist für die darstellung der kyrilischen zeichensätze notwendig

Verfasst: 31.03.2005, 09:26
von lomo
Bei der "russischen AltaVista" https://www.yandex.ru/ wird kyrillisch korrekt dargestellt, ohne dass der richtige Zeichensatz in HTML definiert wird. Kyrillischen Zeichensatz auf meinem Rechner habe ich auch nicht (bzw. habe ich diesen nicht bewusst installiert)

Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 10:38
von Nexus
Hi,
Hier erscheint als Kategorie:
Top/World/Russian/??????_?_???????/??????/????????/????????????_?_????????
Wenn du utf8_decode() benutzt, werden alle Zeichen die im Zielzeichensatz nicht vorhanden sind durch ? ersetzt.

Die russischen, chinesischen und alle weiteren Kategorien funzen in UTF-8 ohne Probleme. Du musst aber konsequent alles in UTF-8 machen: DB, Script-Quelltext usw.

Wo holst du denn die Kategorien weg? Wenn die vorher schon in einem anderen Zeichensatz vorliegen kannst du nichts mehr machen. Du brauchst den UTF-8-String. (Am besten aus dem RDF-Dump holen).

Gruß
Raphael

Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 12:45
von Airport1
@lomo: bei yandex wird der Charset per header() gesetzt, siehe letzte Zeile:

Response Header from Server (Origin Server, Server or Proxy):
HTTP/1.1 200 OK
Date: Thu, 31 Mar 2005 10:46:00 GMT
Server: Apache/1.3.6 (Unix) PHP/4.0.1pl2 mod_perl/1.19 mod_deflate/1.0.21 rus/PL28.15
Set-Cookie: yandexuid=8365721112265960; path=/; domain=.yandex.ru; expires=Friday, 31-Dec-10 23:59:59 GMT
Last-Modified: Thu, 31 Mar 2005 10:45:01 GMT
Cache-Control: max-age=300, private, proxy-revalidate
Expires: Thu, 31 Mar 2005 10:51:00 GMT
Connection: close
Content-Type: text/html; charset=windows-1251

@Nexus: also DMOZ Kategorie ohne utf8_decode direkt in die DB schreiben, und beim Auslesen aus der DB die Webseite per header/meta in utf-8 ausliefern? Oder vielleicht nach dem Auslesen erst utf8_decode und dann in "windows-1251" ausgeben, wie es ja anscheinend alle russischen Seiten machen ;-) ?

Russische DMOZ Kategorien - wie darstellen?

Verfasst: 31.03.2005, 13:24
von Nexus
Hi,
@Nexus: also DMOZ Kategorie ohne utf8_decode direkt in die DB schreiben, und beim Auslesen aus der DB die Webseite per header/meta in utf-8 ausliefern?
Genau so. Macht keierlei Probleme.

utf8_decode würde niemals funktionieren das hier der Zielzeichensatz immer ISO-8859-1 ist, und dieser die russischen Zeichen nicht darstellen kann. Du wirst also immer ?? erhalten.

Wenn du unbedingt konvertieren willst solltest du dir iconv() anschauen. Damit kannst du den Zielzeichensatz angeben.

Gruß
Nexus