Timo: Umlaute in INPUT-Feld ersetzen, wird nicht erkannt!

Hallo,

ich habe Eingabefelder, die ich auslesen und auf Umlaute überprüfen lassen möchte, um diese dann zu ersetzen.

ü = ue
ä = ae
ö = oe

  
function Check()  
{  
	var bearbeiter =  $('BEARBEITER').value;  
	bearbeiter = bearbeiter.replace(/ü/g,"ue");  
}  

Jeder Buchstabe wird erkannt, also wenn ich "a" mit "x" ersetze, wird aus "aal" auch wirklich "xxl"!!! Nur die Umlaute werden nicht erkannt, weiß nicht mehr weiter.

Danke

  1. Hi!

    ich habe Eingabefelder, die ich auslesen und auf Umlaute überprüfen lassen möchte, um diese dann zu ersetzen.

    Warum das denn?

    Jeder Buchstabe wird erkannt, also wenn ich "a" mit "x" ersetze, wird aus "aal" auch wirklich "xxl"!!! Nur die Umlaute werden nicht erkannt, weiß nicht mehr weiter.

    Dann stimmt vielleicht deine Kodierung der Umlaute im Script nicht mit der der Daten überein. Gib mal beides mit alert() aus.

    Lo!

    1. Hi!

      ich habe Eingabefelder, die ich auslesen und auf Umlaute überprüfen lassen möchte, um diese dann zu ersetzen.

      Warum das denn?

      Jeder Buchstabe wird erkannt, also wenn ich "a" mit "x" ersetze, wird aus "aal" auch wirklich "xxl"!!! Nur die Umlaute werden nicht erkannt, weiß nicht mehr weiter.

      Dann stimmt vielleicht deine Kodierung der Umlaute im Script nicht mit der der Daten überein. Gib mal beides mit alert() aus.

      Lo!

      weil ich es muss! ;)

      habe den wert per alert() ausgegeben, ja wie es der *** will, wird auch ä-ö-ü ausgewiesen!

      WARUM kann ich Buchstaben von a-z erkennen aber ä-ö-ü dann nicht???

      1. Hi!

        Zitiere doch bitte sinnvoll und antworte auf das, worauf du dich beziehst und nicht einfach alle Fragen auf einmal unter einem Vollzitat. Dann liest es sich angenehmer und deine Chancen auf eine Antwort steigen. Danke.

        ich habe Eingabefelder, die ich auslesen und auf Umlaute überprüfen lassen möchte, um diese dann zu ersetzen.
        Warum das denn?
        weil ich es muss! ;)

        Das ist keine Begründung. Ich würde gern den Anwendungsfall wissen, weil ich mir grad keinen für Javascript vorstellen kann.

        Jeder Buchstabe wird erkannt, also wenn ich "a" mit "x" ersetze, wird aus "aal" auch wirklich "xxl"!!! Nur die Umlaute werden nicht erkannt, weiß nicht mehr weiter.
        Dann stimmt vielleicht deine Kodierung der Umlaute im Script nicht mit der der Daten überein. Gib mal beides mit alert() aus.
        habe den wert per alert() ausgegeben, ja wie es der *** will, wird auch ä-ö-ü ausgewiesen!

        Ich sprach von zwei Dingen, die du ausgeben solltest.

        WARUM kann ich Buchstaben von a-z erkennen aber ä-ö-ü dann nicht???

        Mit solchen rhetorischen Fragen kommt keine Lösung herbeigeflogen. Das Problem ist ja nun bekannt und nun muss erstmal die Ursache ermittelt werden.

        Lo!

        1. ... dann eben nochmals etwas genauer!

          In einem CAD-System können keine ä-ö-ü verarbeitet, daher muss ich die Eingabefelder nach diesen ä-ö-ü überprüfen und ein Alert ausführen lassen, dass Sonderzeichen vorhanden sind.

          In dem Webbrowser des CAD-Systems ist eine javascript-file implementierbar, in einer xml-file finde ich das:

            
          <?xml version="1.0" encoding="UTF-8" ?>  
          
          

          wenn ich Quelltext der Seinte öffne:

            
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
          <html>  
          <head>  
          <title>TOOLBOX 2010</title>  
          <!--  
          <meta http-equiv="content-type" content="text/html; charset=utf-8">  
          
          

          wie kann ich denn die Eingabe eines INPUT-Feldes auf ä-ö-ü abfragen?

          1. @@Timo:

            nuqneH

            In einem CAD-System können keine ä-ö-ü verarbeitet

            Das Problem wäre dort zu fixen.

            daher muss ich die Eingabefelder nach diesen ä-ö-ü überprüfen

            Und was ist mit den vielen anderen Nicht-ASCII-Zeichen? Mit der Ersetzung nur der deutschen Umlaute bist du kaum eine Schreitt weiter.

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. Fremdsystem, kann nicht gefixt werden!

              es geht NUR um diese 3 Umlaute!

              1. @@Timo:

                nuqneH

                es geht NUR um diese 3 Umlaute!

                Das glaubst du. Ich glaub das nicht. Was, wenn der Bearbeiter nun René heißt? Oder die Bearbeiterin Zoë? Oder mit Nachnamen Weiß? Oder Çağlar?

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
                1. Danke für die Hilfe, das System kann nur diese nicht verarbeiten, ICH sitze hier am System, kann dies wohl besser beurteilen

                  1. @@Timo:

                    nuqneH

                    Danke für die Hilfe, das System kann nur diese nicht verarbeiten

                    ?? Das System kann ë verarbeiten, aber nicht ä?

                    Qapla'

                    --
                    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                    (Mark Twain)
                    1. Danke für die Hilfe, das System kann nur diese nicht verarbeiten

                      ?? Das System kann ë verarbeiten, aber nicht ä?

                      Faszinierend - Yagyū Munenori würde sich im Grab umdrehen.

          2. Hi!

            In einem CAD-System können keine ä-ö-ü verarbeitet, daher muss ich die Eingabefelder nach diesen ä-ö-ü überprüfen und ein Alert ausführen lassen, dass Sonderzeichen vorhanden sind.

            Ok, also ein Fremdsystem, das nicht korrigiert werden kann.

            In dem Webbrowser des CAD-Systems ist eine javascript-file implementierbar, in einer xml-file finde ich das:
            <?xml version="1.0" encoding="UTF-8" ?>

            Welcher Zusammenhang besteht zwischen beiden?

            wenn ich Quelltext der Seinte öffne:

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

            <html>
            <head>
            <title>TOOLBOX 2010</title>
            <!--
            <meta http-equiv="content-type" content="text/html; charset=utf-8">

              
            Warum ist die Angabe ausgeklammert? In welcher Kodierung wurde die Datei gespeichert?  
              
            
            > wie kann ich denn die Eingabe eines INPUT-Feldes auf ä-ö-ü abfragen?  
              
            Indem du nach ä-ö-ü abfragst - die Zeichenkodierung muss stimmen. Aber wenn du weiterhin meine Bitten ignorierst, mal ein eingegebenes ä und ein im Script stehendes auszugeben, kommen wir mit der Problemanalyse nicht weiter. Also füg bitte in deine Check-Funktion nach dem var bearbeiter ... ein alert('ä'); und ein alert(bearbeiter); ein, gib ein ä in das bearbeiter-Feld ein und schau dir das Ergebnis an.  
              
              
            Lo!
            
            1. genau, ein Fremdsystem!

              die xml Datei ist wohl was anderes, sorry!
              ich weis ja nicht, wie die HTML Seite kodiert ist, das ist in dem Programm so implementiert, sonst wäre es ja einfach!

              und ja, ich habe ein ä-ö-ü im Eingabefeld eingegeben und per alert ausgelesen, wie bereits schon erwähnt! es wird 1:1 der Umlaut ausgegeben, SUCHE ich aber nach diesem, wird er nicht erkannt, das ist genau der Punkt, der mich stutzig macht. DAS hat mit nichtbefolgen deiner Anweisungen nichts zu tun.

              1. Hi!

                und ja, ich habe ein ä-ö-ü im Eingabefeld eingegeben und per alert ausgelesen, wie bereits schon erwähnt! es wird 1:1 der Umlaut ausgegeben, SUCHE ich aber nach diesem, wird er nicht erkannt, das ist genau der Punkt, der mich stutzig macht.

                Letzter Versuch: Ich sprach von zwei Ausgaben.
                1. Ein eingegebener Umlaut, so wie er als Suchtext an die replace-Funktion gegeben wird. Erledigt.
                2. Ein alert('ä'); also ein direkt im Script stehender Umlaut, so wie er als Parameter von replace() zur Anwendung kommt. Immer noch offen.

                DAS hat mit nichtbefolgen deiner Anweisungen nichts zu tun.

                Ich gebe keine Anweisungen, aber um deinem Problem auf die Spur zu kommen, erbitte ich Auskunft, die ich mir nicht selbst holen kann, weil ich nicht an deinem System sitze. Wir können das auch lassen, wenn du nicht gewillt oder in der Lage bist, mir diese Zuarbeit so genau wie möglich zu geben. Ich konnte das Szenario, gemäß deiner Beschreibung nachstellen, wenn die Kodierung der Seite mit dem Javascript-Code drin nicht der Angabe im charset-Parameter entsprach. Dass das bei dir so sein kann, habe ich vermutet und ich möchte durch die beiden Ausgaben erst einmal sichergehen, dass das die Ursache bei dir ist. Anschließend sehen wir weiter, welche Maßnahmen zur Behebung geeignet sind. Sprich: wenn sich der Verdacht durch die _beiden_ Kontrollausgaben bestätigt, dann müssen die Kodierung deiner Javascript-Seite und die Angabe im HTML-Head/HTTP-Header in Übereinstimmung gebracht werden. Dann klappt es auch mit den Umlauten.

                Lo!

                1. Hey,

                  ok, also gebe ich nun in ein INPUT-Feld ein ä-ö-ü ein, wird dies per alert() auch so ausgegeben! Setze ich im alert() zum Ausgabetext ein "ä" davor, wird es als Kästchen ausgegeben. Die Codierung an der Seite kann ich leider nicht direkt ändern, wüsste auch keine andere Möglichkeit, wie ich nun hier zum Ziel komme.

                  1. Hi!

                    ok, also gebe ich nun in ein INPUT-Feld ein ä-ö-ü ein, wird dies per alert() auch so ausgegeben! Setze ich im alert() zum Ausgabetext ein "ä" davor, wird es als Kästchen ausgegeben.

                    Sowas wollte ich wissen und das bestätigt meine Theorie. Wenn Kästchen zu sehen sind, wird meistens UTF-8 erwartet (in diesem Fall vom Browser, wenn er deinen Javascript-Code liest), es kommt aber nur ISO-8859-1. Anderenfalls wären die Zeichen zu sehen, die ich am Ende dieses Posting stehen habe.

                    Die Codierung an der Seite kann ich leider nicht direkt ändern, wüsste auch keine andere Möglichkeit, wie ich nun hier zum Ziel komme.

                    Wie bearbeitest du denn die Seite? Üblicherweise macht man das in einem Texteditor. Und aktuellen Exemplaren kann man sagen, in welcher Kodierung man gern gespeichert hätte. Schau bitte im Browser die HTTP-Header der fraglichen Ressource an (zum Beispiel im Firefox über die livehttpheaders-Extension). Da muss einer namens Content-Type vorhanden sein. Hat der eine charset-Angabe angehängt oder nicht? Wenn nicht, gilt ersatzweise ein HTML-Meta-Element mit gleichem Inhalt. Und wenn gar nichts zu finden ist, darf der Browser raten. Jedenfalls musst du die dort gemachte Angabe beim Schreiben der Datei berücksichtigen. (Wenn das UTF-8 ist, dann bitte ohne BOM speichern - kann der Notepad nicht.)

                    Wenn du kein UTF-8 speichern kannst, aber UTF-8 an den erwähnten Stellen steht dann, dann schreib in deinen Quelltext statt
                    ä: ä
                    ö: ö
                    ü: ü
                    Ä: Ä
                    Ö: Ö
                    Ü: Ãœ
                    ß: ß

                    Lo!

                    1. @@dedlfix:

                      nuqneH

                      Schau bitte im Browser die HTTP-Header der fraglichen Ressource an (zum Beispiel im Firefox über die livehttpheaders-Extension). Da muss einer namens Content-Type vorhanden sein. Hat der eine charset-Angabe angehängt oder nicht? Wenn nicht, gilt ersatzweise ein HTML-Meta-Element mit gleichem Inhalt.

                      Sowohl HTTP-Header als auch Meta-Angabe lassen sich mit dem W3C Internationalization Checker prüfen.

                      Und wenn gar nichts zu finden ist, darf der Browser raten.

                      Eigentlich nicht. Manche tun’s trotzdem. [HTML401 §5.2.2]

                      Qapla'

                      --
                      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                      (Mark Twain)
                      1. Hi!

                        Sowohl HTTP-Header als auch Meta-Angabe lassen sich mit dem W3C Internationalization Checker prüfen.

                        Ja, bei im Internet erreichbaren Ressourcen. Sonst nicht.

                        Lo!

                        1. @@dedlfix:

                          nuqneH

                          Sowohl HTTP-Header als auch Meta-Angabe lassen sich mit dem W3C Internationalization Checker prüfen.

                          Ja, bei im Internet erreichbaren Ressourcen. Sonst nicht.

                          Ja, bei "Validate by File Upload" gibt’s natürlich keinen HTTP-Header. Und mit http://localhost wird’s auch schwer.

                          Qapla'

                          --
                          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                          (Mark Twain)
                    2. jjaaaa perfekt danke, das sind die Zeichen!!!

            2. Hi,

              Warum ist die Angabe ausgeklammert? In welcher Kodierung wurde die Datei gespeichert?

              Und welche Codierungs-Angabe befindet sich im http-Response-Header?

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              O o ostern ...
              Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.