René 's Weblog
...und was die Welt schon immer nicht wissen wollte
UniCode per Javascript ersetzen
Zugriffe:3572Bewertung:2,5(2Bewertungen)28.01.2007 - René Drescher-Hackel

Im Rahmen meiner aktuellen Projektarbeit war wieder einmal auf der Suche nach einer Lösung für folgendes Problem:

Ich habe mir ein CustomControl geschrieben, das ein GridView lädt und hier dann entsprechend der übergebenen Datenquelle den entsprechenden Text an eine Textbox im Control übergibt.
Jetzt kommt es im deutsche Sprachraum immer wieder vor, daß "Sonderzeichen" wie ü, ä, ö usw. verwendet werden. (Vielleicht kommt ja noch die Reform der Reform und diese Zeichen werden im Wege der Globalisierung aus dem Schriftzeichensatz der deutschsprachigen Regionen gestrichen)

DDT1

Wie man sehen kann, zeigt das GridView das "ü" noch richtig an. Der gerenderte HTML-Code stellt das "ü" allerdings als Unicode das - also "ü". Im Ergebnis wird die so auch an die Textbox übergeben:

DDT2

Da mir ad hoc erst einmal keine Lösung für dieses Problem einfiel, kam mir der Gedanke, das Ganze an der Stelle zu lösen, wo der Inhalt an die Textbox übergeben wird. Also mußte eine Javascriptlösung her.

Die Aufgabenstellung war dabei bekannt: Es gibt eine Zeichenfolge, die eine oder mehrere Zeichenfolgen beinhaltet, die dem Muster "&#Zahl;" entspricht.

Die Lösung ist dann ein prototype für String().

 String.prototype.fromDecCode = function(){
var i = null;
var _i = null;
var temp = null;
var str = this;
myRegExp = new RegExp();
i = str.indexOf('&#');
if(i > -1){
_i = str.indexOf(';');
temp = str.substring(i+2, _i);
myRegExp.compile(temp,'g');
str = temp.replace(myRegExp, String.fromCharCode(temp));
}
return str;
}

Damit war mein Problem gelöst.
Wie ich bei meiner Netzsuche feststellen mußte, hat sich in diversen Foren schon so manch anderer mit diesem Problem geplagt.

Update: 25.08.2007

Unicode - Codierungen für deutsche Umlaute

ä \u00c4
ä \u00e4
ö \u00d6
ö \u00f6
ü \u00dc
ü \u00fc
ß \u00df

Für die UniCode Convertierung ist die folgende Methode sehr hilfreich: String.prototype.fromUnicode

Kick it on dotnet-kicks.de
sehr gutungenügend

Ihr Kommentar zu diesem Beitrag:
your gravatar
Sollten die Eingabefelder deaktiviert sein, so aktualisieren Sie den Bestätigungscode.
Bestätigungscode
Das Weblog von René Drescher-Hackel beschäftigt sich überwiegend mit Themen aus dem Bereich der Webanwendungsentwicklung mit den Themenschwerpunkten ASP.NET und C# im DOT-NET Framework 2.0 / 3.5. In der clientseitigen Entwicklung liegt der Schwerpunkt bei Javascript und jQuery. René; Drescher-Hackel hat die Prüfung zum Microsoft Certified Tecnology Specialist - .NET Framework 2.0 Web Applications abgelegt.