Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: alkuhn am 28.08.05 - 20:03:15

Titel: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 28.08.05 - 20:03:15
Hallo,

ich muss einen RSS Feed mit xml realisieren. Soweit tut alles (der Aufbau stimmt und es werden die richtigen Daten angezeigt). Wenn ich aber den RSS Feed bei feedvalidator.org teste, bekomme ich immer den Hinweis

Your feed appears to be encoded as "ISO-8859-1", but your server is reporting "US-ASCII"

Ich habe keine Ahnung, was ich noch umstellen muss / kann. Hat mir jemand einen Hinweis?

Bin für jeden Tipp dankbar.
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 28.08.05 - 20:38:44
erstellst du das xml selber?

Du kannst im xml tag festlegen, welches encoding benutzt werden soll.
<?xml version="1.0" encoding="ISO-8859-1"?>
Soweit du das XML mit irgendwelchen APIs erzeugst, gibt es da vermutlich eine Methode setEncoding().

hoffe es hilft.

Hier ist so etwas wie eine Erklärung:
http://www.w3schools.com/xml/xml_encoding.asp
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 08:12:40
Danke für die Antwort!

Ich erstelle das XML selber und habe auch das encoding angegeben. Das Problem besteht darin, dass der Server wohl einen anderen Zeichensatz angibt.

Your feed appears to be encoded as "ISO-8859-1", but your server is reporting "US-ASCII"

Hast Du noch eine Idee für mich?
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: eknori (retired) am 29.08.05 - 08:21:00
Hilft das, was die unter Solution schreiben nicht weiter ?

http://feedvalidator.org/docs/warning/EncodingMismatch.html
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 08:36:42
Entschuldige bitte, im Augenblick stehe ich auf der Leitung. Ist das nicht mein Problem:
ensure that the server makes no claims about the encoding
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 29.08.05 - 11:05:00
Ok. Genau umgekehrt.
Wie das genau mit diesen Character Encodings zu regeln ist, halte ich für ernsthaft nicht einfach.
Wie erstellst du das xml File? Agent, Maske, Page mit computed Text?
US-ASCI verwundert mich. UTF-8 hätte ich erwartet
Oder schau dir das mal an.
http://www.codestore.net/store.nsf/unid/HUMR-6AASZV?OpenDocument
Bzw. kannst du den http content type header setzen?
Vermutlich kannst du mit 6 etwas mit @SetHttpHeader machen.
Kommt aber drauf an, wie du den rss-response generierst.

So in der Art: @SetHttpHeader("Content-Type"; "text/html; charset=ISO-8859-4");
Dies kann evtl. auch helfen:
http://www.notestips.com/80256B3A007F2692/1/NAMO599UGG
Gibt aber noch weitere Möglichkeiten.

Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 12:03:28
Ich habe eine Ansicht, wo ich die Inhalte aufbereitet. Die Ansicht ist in einer Seite eingebettet. In der Seite steht vor der Ansicht der Aufbau vom RSS Feed.

Habe es mal mit @SetHTTPHeader aber das hat leider nichts gebracht.

Auf jeden Fall vielen Dank für Deine Bemühungen!!!
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: animate am 29.08.05 - 12:18:59
Der erste Link von Axel zu codestore.net zeigt einen Artikel, in dem ganz unten im Addendum ein Problem beschrieben wird, dass deinem entsprechen könnte. Hast du das schon gesehen?

*edit*
oh, lese gerade, dass du eine Seite hast und keine Maske. Kann natürlcih sein, dass das dann doch nicht dein Problem ist.
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 29.08.05 - 12:28:35
Du kannst vielleicht die Ansicht in einer Maske anzeigen (mit diesem alten $$ViewTemplateFor Feld).
In der Maske kannst du dann auf dem 2. Reiter der Eigenschaftenbox den Inhaltstyp angeben.
rss....
Oder mach einfachl, was der Onkel hier sagt:
http://www.notestips.com/80256B3A007F2692/1/NAMO5MQVKJ#3.1
Das sieht so aus, als würde es sehr gut passen.
Du kannst auf Seiten Eigenschaftsbox im 2. Reiter den Typ des Dokuments angeben. Also auch rss.

Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 14:30:54
Oder mach einfachl, was der Onkel hier sagt:

Schlag mich, habe alles gemacht, was der Onkel gesagt hat. Nach weiteren ca. 1000 grauen Haaren und Änderungen habe ich gerade in die Seitenansicht den Inhaltstyp von text/xml auf  application/xml geändert - und schon geht es  :-[
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 29.08.05 - 15:25:58
Hat der Onkel das wirklich nicht gesagt   ::)
Ich find das auch nicht gerade offensichtlich. Vor allem wenn man noch nicht vor ähnlichen http-Problemen gestanden hat.
Das setzen des Content Types ist auch in Domino als "afterthought" in Domino 6 eingefügt worden.
In Servlets hast du z.B. HttpServletResponse.setContentType("String contentType);
In PHP z.B. gibt es sicher auch eine ähnliche einfache Funktion.
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: eknori (retired) am 29.08.05 - 15:28:02
auch der Onkel von feedvalidator hat das in seiner solution heute morgen schon gesagt

"Serving the feed as application/xml means that the encoding will be taken from the file's declaration."
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 15:30:13
Der Onkel hat es wirklich gesagt, aber der Neffe hat es überlesen  :P
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 29.08.05 - 16:21:29
auch der Onkel von feedvalidator hat das in seiner solution heute morgen schon gesagt

"Serving the feed as application/xml means that the encoding will be taken from the file's declaration."
Hättest du gesetzt, wie du den entsprechenden HTTP-Header setzt in Domino 6?
In dem 2. Reiter der Eigenschaftenbox der Page?
BTW: HTTP Header Felder sind etwas anderes als html-head Felder (das was innerhalb des html-head tags steht)
Ich hab das heute hier gelernt. Thx.
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 16:23:30
Äh, was meinst Du?
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: flaite am 29.08.05 - 16:26:40
Mit der Eigenschaftsbox setzt du das http-Header Feld Content oder Content-Type.
Diese HTTP-Header siehst du nirgendwo im html source code sondern nur mit einem http-sniffer oder einem http-proxy/interceptor.
In Domino6 kann man wenigstens das HTTP-Content-Type Feld über diese Eigenschaftenboxen setzen. Aber Datenbanken24 hatte da auch schon interessante Dinge berichtet, wenn er andere http-header setzen mußte. Das war dann alles andere als so einfach wie das hier.
Ich weiss aber jetzt wies geht und deshalb habe ich etwas durch diesen Thread gelernt.
Titel: Re: RSS Feed encoded as "ISO-8859-1"
Beitrag von: alkuhn am 29.08.05 - 16:30:34
Super - und nochmals vielen Dank für Eure Hilfe!!!!!