gerdes: replace

IE9, javascript

ich möchte in einem String nur den deutschen umlaut ä ersetzen.
dazu setzte ich folgenden befehl ab:

var _text = "Der Bär spräng über zwü Büche wöhrend das Vögelchen zwötscherte.";
var output = _text.replace(/ä/g, '\u00E4');
alert(output);

Ergebnis:
"Der Bär spräng über zwä Bäche während das Vägelchen zwätscherte.";

Es werden also alle deutschen Umlaute durch das Zeichen 'ä' ersetzt?

Hat jemand eine Idee?

  1. Tach!

    IE9, javascript
    Es werden also alle deutschen Umlaute durch das Zeichen 'ä' ersetzt?

    Nicht nachvollziehbar. Weder im genannten Browser noch im Firefox.

    Hat jemand eine Idee?

    Du hast ein Problem, was in einem bestimmen Kontext auftritt, den du uns noch nicht genannt hast. Warum möchtest du eigentlich ein ä durch ein ä ersetzen?

    dedlfix.

    1. Tach!

      IE9, javascript
      Es werden also alle deutschen Umlaute durch das Zeichen 'ä' ersetzt?

      Nicht nachvollziehbar. Weder im genannten Browser noch im Firefox.

      Hat jemand eine Idee?

      Du hast ein Problem, was in einem bestimmen Kontext auftritt, den du uns noch nicht genannt hast. Warum möchtest du eigentlich ein ä durch ein ä ersetzen?

      dedlfix.

      Windows 7
      IE9
      aspx.seite
      javascript

      Es geht mir bei dem Test zunächst erst mal nur darum festzustellen, warum auf meiner Maschine anstatt nur an einer Textstelle immer alle Textstellen mit Sonderzeichen durch das vordefinierte Pattern ersetzt werden. Vielleicht ein anderer Code mit dem selben Ergebnis:

      var _text = "Der Bär spräng über zwü Büsche wöhrend das Vögelchen zwitscherte.";
      var re = new RegExp("\ä", "g");
      var output = _text.replace(re, "ae");
      alert(output):
      Ergebnis bei mir:
      "Der Baer spraeng aeber zwae Baesche waehrend das Vaegelchen zwitscherte."
      Ergebnis im Internet auf den entspr. Testseiten:
      "Der Baer spraeng über zwü Büsche wöhrend das Vögelchen zwitscherte."

      1. Tach!

        Es geht mir bei dem Test zunächst erst mal nur darum festzustellen, warum auf meiner Maschine anstatt nur an einer Textstelle immer alle Textstellen mit Sonderzeichen durch das vordefinierte Pattern ersetzt werden. Vielleicht ein anderer Code mit dem selben Ergebnis:

        Der ist prinzipiell nicht anders als der andere. Das Problem bleibt in der beschriebenen Form nicht nachvollziehbar.

        Mögliche Wege zur Ursachenfindung:

        • Erstell ein Minimal-Beispiel in einer neuen Seite. Problem noch da? Dein Browser ist kaputt. Problem weg? Ursache liegt an was anderem.
        • Erweitere schrittweise Code und teste immer wieder bis das Problem auftritt. Dann hast du den problematischen Code eingekreist.
        • Zeig den wirklichen Problemfall, auf dass jemand anders schauen kann.

        dedlfix.

        1. Tach!

          Es geht mir bei dem Test zunächst erst mal nur darum festzustellen, warum auf meiner Maschine anstatt nur an einer Textstelle immer alle Textstellen mit Sonderzeichen durch das vordefinierte Pattern ersetzt werden. Vielleicht ein anderer Code mit dem selben Ergebnis:

          Der ist prinzipiell nicht anders als der andere. Das Problem bleibt in der beschriebenen Form nicht nachvollziehbar.

          Mögliche Wege zur Ursachenfindung:

          • Erstell ein Minimal-Beispiel in einer neuen Seite. Problem noch da? Dein Browser ist kaputt. Problem weg? Ursache liegt an was anderem.
          • Erweitere schrittweise Code und teste immer wieder bis das Problem auftritt. Dann hast du den problematischen Code eingekreist.
          • Zeig den wirklichen Problemfall, auf dass jemand anders schauen kann.

          dedlfix.

          Hallo dedlfix, ich habe die Fehler-Ursache gefunden, kann aber nicht beurteilen, WARUM das so ist:

          Wenn ich im header der aspx-Seite folgendes definiere, funktioniert es klaglos und fehlerfrei:

          <%@ Page Inherits="test" Language="c#" CodeFile="test.aspx.cs" AutoEventWireup="true" %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">

          <head id="Head1" runat="server">
                 <title></title>
                 <link rel="stylesheet"

          <script type="text/javascript" language="javascript">

          function zeichenErsetzen() {
                         ...
                       }

          </script>
          </head>

          Binde ich den Befehl aber über eine externe java-Script-Datei einbinde, erscheint der vor beschriebene Fehler:

          ...
          <head id="Head1" runat="server">
                 <title></title>
                 <script src="test.js" type="text/javascript"></script>
          </head>

          Die Datei "test.js" hat folgenden Aufbau:

          //--------------------------------------
          function zeichenErsetzen() {
             ...
          }
          //--------------------------------------

          1. Hi,

            Hallo dedlfix, ich habe die Fehler-Ursache gefunden, kann aber nicht beurteilen, WARUM das so ist:

            Wenn ich im header der aspx-Seite folgendes definiere, funktioniert es klaglos und fehlerfrei:

            Binde ich den Befehl aber über eine externe java-Script-Datei einbinde, erscheint der vor beschriebene Fehler:

            Vermutlich ein Problem mit der Zeichenkodierung. Prüfe, unter welcher Kodierung du das externe Script abgespeichert hast, und ggf. mit welcher charset-Angabe der Webserver es ausliefert.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. Hi,

              Hallo dedlfix, ich habe die Fehler-Ursache gefunden, kann aber nicht beurteilen, WARUM das so ist:

              Wenn ich im header der aspx-Seite folgendes definiere, funktioniert es klaglos und fehlerfrei:

              Binde ich den Befehl aber über eine externe java-Script-Datei einbinde, erscheint der vor beschriebene Fehler:

              Vermutlich ein Problem mit der Zeichenkodierung. Prüfe, unter welcher Kodierung du das externe Script abgespeichert hast, und ggf. mit welcher charset-Angabe der Webserver es ausliefert.

              MfG ChrisB

              Hallo ChrisB,

              Danke für den Hinweis.
              Ich versuche der Sache nachzugehen...