Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Jens_1 am 05.02.09 - 11:26:29

Titel: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: Jens_1 am 05.02.09 - 11:26:29
Hallo NG,

ein System schickt an unseren Domino Mails wo die Umlaute im hierarchischen Namen der Absenderadresse stets mit wirrem Zeugs gefült sind. Diese Mails werden von einem Script-Agenten beantwortet.
So kommt z.B. statt einem "ö" die Zeichenfolge "ö" mit. Also statt "Schröder" kommt "Schröder".
Da das ganze im sendenden System nicht geändert werden kann, muss ich mir jetzt etwas einfallen lassen um die Adresse zum Antworten gerade zu biegen.

Wie könnte ich das am elegantesten lösen?

Weiß jemand Rat?  ???

Gruß
Jens
Titel: Re: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: Demian am 05.02.09 - 11:38:22
Eventuell wäre die Replace-Funktion da was. Allerdings hab ich da wenig Hoffnung. Bei unserem Abrechnungssystem werden die Umlaute auch durch Sonderzeichen ersetzt, aber ohne einheitliches Muster. Mal werden sie mit dem Zeichen und mal mit dem ersetzt.

Wenn bei euch aber defintiv immer die selben Ersetzungen erfolgen, könnte das mit Replace gehen.

EDIT:
Hab mich da etwas vertan, was ich meinte war die Formel-Funktion @replacesubstring.

Habe hier auch eine Umsetzung für Script gefunden: http://atnotes.de/index.php/topic,9307.0.html (http://atnotes.de/index.php/topic,9307.0.html)
Titel: Re: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: m3 am 05.02.09 - 11:55:49
Ich würde trotzdem beim sendenden System eingreifen, da dieses anscheinend UTF-8 Sequenzen nicht korrekt encoded und sich daher nicht standardkonform verhält:
Code
=?UTF-8?Q?Schr=C3=B6dinger?=
Das würde Notes nämlich korrekt aufllösen können. Nur wenn das "=?utf-8?Q?...?=" fehlt, erkennt Notes das halt nicht.

Ansonstens mit Replace, wobei Du dann halt auf "alle" UTF-8 Sequenzen losgehen musst.
Also Chr$(195) & Chr$(182) => "ö", ....
Titel: Re: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: Jens_1 am 05.02.09 - 12:00:36
Ich würde trotzdem beim sendenden System eingreifen, da dieses anscheinend UTF-8 Sequenzen nicht korrekt encoded und sich daher nicht standardkonform verhält:
Code
=?UTF-8?Q?Schr=C3=B6dinger?=
Das würde Notes nämlich korrekt aufllösen können. Nur wenn das "=?utf-8?Q?...?=" fehlt, erkennt Notes das halt nicht.

Ansonstens mit Replace, wobei Du dann halt auf "alle" UTF-8 Sequenzen losgehen musst.
Also Chr$(195) & Chr$(182) => "ö", ....

Na ja, nützt ja nix wenn der Admin des sendenden Systems (Axios Assyst) sagt, daß das nicht geändert werden kann  :(

Ich schau mir jetzt mal Eure Hilfen an....

Gruß
Jens
Titel: Re: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: koehlerbv am 05.02.09 - 15:34:09
Na ja, nützt ja nix wenn der Admin des sendenden Systems (Axios Assyst) sagt, daß das nicht geändert werden kann  :(

Dann blockt doch einfach diese Adresse, und Ruhe ist ...  ;D

Bernhard
Titel: Re: Konvertierung von Zeichenketten in Sonderzeichen
Beitrag von: Jens_1 am 09.02.09 - 13:08:24
Hallo NG,

und so habe ich das ganz nun in den Griff gekriegt:

Code
Function Translate (incoming As String) As String
	Dim array1(0) As String
	Dim array2(6) As String
	Dim array3(6) As String
	Dim ret As Variant	
	
	array1(0) = incoming
	
	array2(0) = "ä"
	array2(1) = "Ä"
	array2(2) = "ö"
	array2(3) = "Ö"
	array2(4) = "ü"
	array2(5) = "Ü"
	array2(6) = "ß"
	
	array3(0) = "ä"
	array3(1) = "Ä"
	array3(2) = "ö"
	array3(3) = "Ö"
	array3(4) = "ü"
	array3(5) = "Ü"
	array3(6) = "ß"
	
	
	
	ret = Replace(array1, array2, array3)
	For x = 0 To 0
		translate = ret(0)
	Nextl
	
End Function

Vielenb Dank nochmal für den Klaps auf den Hinterkopf ;)

Gruß
Jens