Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: LisaS am 08.10.08 - 13:07:20

Titel: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 08.10.08 - 13:07:20
Hallo,
gibt es eine Möglichkeit den in us-ascii gespeicherten html-part in utf-8 auszugeben, oder dem Richtext generell das utf-8 aufzuzwingen?

Grüße
Hitcher
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 10.10.08 - 13:52:31
...ich habe mal den Teil rausgesucht in dem ich gerne UTF-8 anstelle von us-ascii haben möchte:
Code
Function GetMultipartMime (mime As NotesMIMEEntity) As String
	Dim child As NotesMIMEEntity
	Dim mText As String
	Dim boundary As String
	Dim crlf As String
	
	crlf = Chr(13) & Chr(10)
	mText = mText & mime.Headers & crlf & crlf
	boundary = GetBoundary(mime.Headers)
	
        mText = mText & mime.ContentAsText & crlf
	Set child = mime.GetFirstChildEntity
	While Not(child Is Nothing)
		mText = mText & boundary & crlf
		mText = mText & GetMultipartMime(child)
		Set child = child.GetNextSibling
	Wend
	
	If (Len(boundary) > 0) Then
		mText = mText & boundary & "--" & crlf
	End If
	
	GetMultipartMime = mText
End Function
wie und wo kann ich eine formatierung nach utf-8 durchführen?
bis jetzt bekomme ich umlaute in dieser Form präsentiert:
Ö -> =D6
Ü -> =DC
Vieleicht hat ja jemand ne Idee...

Nice Weekend
Hitcher

Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: m3 am 10.10.08 - 13:57:35
Das ist quoted-printable (http://en.wikipedia.org/wiki/Quoted_printable) encoding. Das sollte aber in dem Mime-Header angeführt werden.

Siehe auch notesMIMEEntity.DecodeContent( )
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 10.10.08 - 14:31:08
Verwirrt??
Hier ist die Ausgabe des oberen Scriptes:
Code
Content-Type: multipart/related; boundary="=_related 004D5E07C12574DC_="

This is a multipart message in MIME format.

--=_related 004D5E07C12574DC_=
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable


<br><tt><font size=3D2>&nbsp;=DC =D6 =C4 =FC =F6 =E4</font></tt>
<br><img src=3Dcid:=5F1=5F05FE4A8405FE469C004D5E06C12574DC>

--=_related 004D5E07C12574DC_=
Content-Type: image/gif
Content-ID: <_1_05FE4A8405FE469C004D5E06C12574DC>
Content-Transfer-Encoding: base64
.
.
.
Jetz sehe ich da ISO-8859-1 dann sollte doch 
Code
Ü Ö Ä ü ö ä
statt
Code
=DC =D6 =C4 =FC =F6 =E4
angezeigt werden, oder liegt das am quoted-printable?
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: m3 am 10.10.08 - 14:46:30
Ich schreibe "ENCODING" und "QUOTED-PRINTABLE". Was war daran nicht verständlich?
Zitat
--=_related 004D5E07C12574DC_=
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable


Das Charset (ISO-8859-1, US-ASCII, UTF-8, ...) hat damit nix zu tun. Du musst Dich zuerst mal drum kümmern, dass Du den Inhalt DECODED (entschlüsselt) bekommst.

Erst dann kannst Du Dich um eine ev. notwendige Konvertierung in ein anderes Charset kümmern.
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 10.10.08 - 19:09:10
@Martin
Danke, für deine Hilfe. Ich werde Deinen Rat befolgen und das Ergebnis hier Posten.
Schönes WE
Hitcher
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 15.10.08 - 11:45:08
@Martin:
jo, das hat jetzt geklappt.
..aber:
ich bekomme jetzt folgendes Ergegnis:
Code
Content-Type: multipart/related; boundary="=_related 00348486C12574E3_="

This is a multipart message in MIME format.

--=_related 00348486C12574E3_=
Content-Type: text/html; charset="US-ASCII"

<font size=2 face="sans-serif">erstmal nur Text.....xxdd</font>
<br><img src=cid:_1_071BFD58071BF99C00348486C12574E3>
<br><font size=2 face="sans-serif">und Text</font>
<br><font size=2 face="sans-serif">sdsdsws</font>

--=_related 00348486C12574E3_=
Content-Type: image/gif
Content-ID: <_1_071BFD58071BF99C00348486C12574E3>

GIF89a 

und jetzt das Problem:
wie bekomme ich
Code
<img src=cid:_1_071BFD58071BF99C00348486C12574E3>
in eine vernünftige url, wie z.B.:
Code
<img src="/xxx/xxxx.nsf/770de9d75323180ac12574750035d0eb/4445168c4f3e1350c12574e3002b40f4/Beschreibung/0.AC?OpenElement&amp;FieldElemFormat=gif"

Ich bauche nur den Html-Teil aus dem RTF-Feld, und zwar so wie es das Feld im Lese-Modus im Web machen würde.
Grüße
Hitcher
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: m3 am 15.10.08 - 11:49:54
Das ist eine lokale MIME-URL, wie sie beispielsweise in HTML-Mails verwendet wird, um in der Mail enthaltene Bilder zu referenzieren.

Die passt schon so. Die musst Du selber umbauen, wenn Du sie so nicht willst (also Bild abhängen/speichern, ...).
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 15.10.08 - 12:23:32
gibt es denn keine Möglichkeit, den Html-Code zu bekommen, so wie es das RT-Feld im web im lesemodus ausgibt.
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: m3 am 15.10.08 - 14:55:18
Ja, über http://....... ;)

Um genau zu sein Über den undokumentierten ?OpenField Befehl.
http://www.iminstant.com/iminstant/iminstant.nsf/d6plinks/CTYR-7H6S6R
Titel: Re: Richtextfeld HTML-Part nicht in us-ascii sondern utf-8 ausgeben
Beitrag von: LisaS am 22.10.08 - 10:04:51
@Martin:

Danke ist genau was ich wollte...
Der OpenField Befehl zeigt mir schön das RT-field im Lesemodus an und ich kann dann den Sourcecode nehmen und in einen Editor packen, beabeiten und speichern.
 ;D ;D ;D

Grüße
Hitcher