Klaus Kral: Emailadresse direkt aus Vorname und Nachname generieren, jedoch ohne Umlaute

Hallo Leute !

Folgendes Problem hoffe ich durch Euch lösen zu können:

Ich habe eine Datenbank, welche über ASP im Internet abrufbar ist. In dieser Datenbank werden Mitarbeiternamen angezeigt und zugleich mit einer automatisch generierten Emailadresse verknüpft.

Nun tritt allerdings folgendes Problem auf:
Wenn ein Mitarbeiter Umlaute im Namen der Datenbank hat, was allerdings für die Anzeige völlig in Ordnung ist, so wird auch dessen Emailadresse mit Umlauten erstellt, da die Emailadresse aus den Feldern Vorname Nachname erstellt wird. Gibt es eine Möglichkeit im ASP - Skript, diesen Fehler zu beheben und zu sagen: Umlaute anzeigen okay, aber nicht für den Link, sprich die Emailadresse, verwenden !!! Stattdessen dort die Umschreibung für die Umlaute verwenden.

Hier das ungefähre Scriptbeispiel:
e-mail: <A HREF="mailto:<%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at"><%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at</A></FONT></TD><TD WIDTH="50%" HEIGHT="92" VALIGN="top">

Ich würde mich wirklich sehr über Eure Hilfe freuen.

Vielen Dank im Voraus.

Mit freundlichen Grüßen

Klaus Kral

  1. Hi,

    Wenn Du *unbedingt* darauf bestehst, kannst Du mit eval()[1] arbeiten; das gibt's AFAIK in Perl und PHP. Perl hat noch eine weitere Möglichkeit, die ich auch nur bedingt empfehlen kann:

    ${'bla'} = 'blub';
    print $bla;

    cool, probier ich doch glatt mal aus. danke.

    Allerdings kannst Du dann keine strict refs mehr nutzen, und für den -w-Switch solltest Du alle(!) verwendeten Variablen durch 'use vars' anmelden. Bedenke, dass Du Dir in *jedem* Fall mit sowas mehr Probleme schaffen kannst, als Du jemals an Nutzen haben könntest - nur weil es "funzt" heißt das nicht, dass auf ewig alles in Ordnung ist. Man sollte *niemals* Variablen mit vorher unbekannten Namen generieren lassen!

    naja, die variablen sind doch schon vorgegeben (in der "variablen datei"). ich will doch nur aus zwei dateien eine datei machen, die perl und php gleichzeitig schnallen.
    die darin verwendeten veriablennamen existieren ja schon im skript, deshalb ist es mir nicht möglich nun $temp{'blah'} für $blah zu schreiben. zumindest ist dann der aufwand höher als der nutzen...

    danke für die tips!

    r.

    [1] Lass es. eval() ist hochgradig gefährlich; insbesondere wenn das Programm die ausgeführten Daten nicht hundertprozentig kennt.

    har har! no risk no fun! :)

    1. Hallo Leuts,

      ich habe schon verschiedene Suchbegriffe hier losgeschickt, aber nie das richtige gefunden ... ich hoffe jemand von Euch kann mir helfen.

      Ich möchte gerne einen Wert an eine Funktion übergeben und diesen nacher in der Funktion als Eigenschaft nutzen, ich habe das auch schonmal gemacht, aber ich weiß es leider nicht mehr wie es funzt.

      z.B.:
      <a href="#" onClick="aendere('test')">
        <img src="test.jpg" name="test">
      </a>

      function aendere(bild) {
        document.bild.src=...
      }

      also wenn man auf das test-Bild klickt, soll an die Funktion
      "aendere()" das Wort "test" übermittelt werden, was gleichzeitig der Name des Images ist um z.B. die SRC davon zu ändern.
      Ich will nicht getElementbyID/Name benutzen, weil es noch "zu neu" ist.
      Gibt es nicht so einen Aufruf wie:
      document.[bild].src
      oder
      document.(bild).src
      oder ???
      Möglichst ein Befehl der auch im Netscape noch funzt und nicht nur für das IMG-Tag gilt(also auch nicht mit "all").

      Für Hilfe wäre ich echt dankbar!
      Jens

  2. Hier das ungefähre Scriptbeispiel:
    e-mail: <A HREF="mailto:<%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at"><%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at</A></FONT></TD><TD WIDTH="50%" HEIGHT="92" VALIGN="top">

    Hallo,

    probiers mal hiermit:

    <%
    Private Function ConvertText(TextBlock)

    Dim NewTextBlock
        NewTextBlock = TextBlock
        NewTextBlock = Replace(NewTextBlock, "Ä", "Ae")
        NewTextBlock = Replace(NewTextBlock, "ä", "ae")
        ...

    ConvertText = NewTextBlock
    End Function

    ...

    %>
    <A HREF="mailto:<%= ConvertText(rs("MAVorname")) %>.<%= ConvertText(rs("MANachname")) %>

    Tschau, Stefan

    1. Hallo Stefan !

      Ich konnte leider nichts genaueres damit anfangen. Ich hab dir den gesamten HTML-Code zum anschauen an deine Email-Adresse gesendet. Vielleicht kannst du mir weiterhelfen.

      mfg

      Klaus

      Hier das ungefähre Scriptbeispiel:
      e-mail: <A HREF="mailto:<%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at"><%= rs("MAVorname") %>.<%= rs("MANachname") %>@fh-joanneum.at</A></FONT></TD><TD WIDTH="50%" HEIGHT="92" VALIGN="top">

      Hallo,

      probiers mal hiermit:

      <%
      Private Function ConvertText(TextBlock)

      Dim NewTextBlock
          NewTextBlock = TextBlock
          NewTextBlock = Replace(NewTextBlock, "Ä", "Ae")
          NewTextBlock = Replace(NewTextBlock, "ä", "ae")
          ...

      ConvertText = NewTextBlock
      End Function

      ...

      %>
      <A HREF="mailto:<%= ConvertText(rs("MAVorname")) %>.<%= ConvertText(rs("MANachname")) %>

      Tschau, Stefan

      1. Hallo Stefan !

        Ich konnte leider nichts genaueres damit anfangen. Ich hab dir den gesamten HTML-Code zum anschauen an deine Email-Adresse gesendet. Vielleicht kannst du mir weiterhelfen.

        Hallo,

        eigentlich ganz einfach:

        Du fügst folgenden Code in die erste Zeile deiner ASDP-Seite ein.

        <%
        Private Function ConvertText(TextBlock)

        Dim NewTextBlock
            NewTextBlock = TextBlock
            NewTextBlock = Replace(NewTextBlock, "Ä", "Ae")
            NewTextBlock = Replace(NewTextBlock, "ä", "ae")
            ... ' Füge hier die anderen Buchstaben ein, genau wie in der Zeile obendrüber
        ConvertText = NewTextBlock
        End Function
        %>

        Dann folgt ganz normal Dein Code der HTML-Ausgabe, und wenn Du mit rs("MAVorname") ... die E-Mailadresse ausgibst, ersetzt Du es ungefähr so:

        <A HREF="mailto:<%= rs("MAVorname") %>.<%= rs("MANachname") %>
        ersetzten durch
        <A HREF="mailto:<%= ConvertText(rs("MAVorname")) %>.<%= ConvertText(rs("MANachname")) %>

        Das wars.

        Tschau, Stefan

        P.S.: Mein Mailserver spinnt im Moment etwas, daher das Posting hier.

        1. GENIAL

          Hallo Stefan !

          FUNKTIONIERT JETZT EINWANDFREI !

          VIELEN HERZLICHEN DANK !!!!

          Mit freundlichen Grüßen

          Klaus

          Hallo Stefan !

          Ich konnte leider nichts genaueres damit anfangen. Ich hab dir den gesamten HTML-Code zum anschauen an deine Email-Adresse gesendet. Vielleicht kannst du mir weiterhelfen.

          Hallo,

          eigentlich ganz einfach:

          Du fügst folgenden Code in die erste Zeile deiner ASDP-Seite ein.

          <%
          Private Function ConvertText(TextBlock)

          Dim NewTextBlock
              NewTextBlock = TextBlock
              NewTextBlock = Replace(NewTextBlock, "Ä", "Ae")
              NewTextBlock = Replace(NewTextBlock, "ä", "ae")
              ... ' Füge hier die anderen Buchstaben ein, genau wie in der Zeile obendrüber
          ConvertText = NewTextBlock
          End Function
          %>

          Dann folgt ganz normal Dein Code der HTML-Ausgabe, und wenn Du mit rs("MAVorname") ... die E-Mailadresse ausgibst, ersetzt Du es ungefähr so:

          <A HREF="mailto:<%= rs("MAVorname") %>.<%= rs("MANachname") %>
          ersetzten durch
          <A HREF="mailto:<%= ConvertText(rs("MAVorname")) %>.<%= ConvertText(rs("MANachname")) %>

          Das wars.

          Tschau, Stefan

          P.S.: Mein Mailserver spinnt im Moment etwas, daher das Posting hier.