• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Umlaute in JS und HTML

gentle

Neues Mitglied
Hi Leute,

ich habe eine HTML Datei mit einem div-Element mit einem Text.
Nun möchte ich den Text dynamisch verändern. Dazu möchte ich den neuen Text aus einer externen Datei laden.
Dazu benutze ich nun Javascript und es funktioniert auch alles so wie ich es möchte.
Nur die Umlaute werden dann leider nicht richtig ausgegeben.
Hier mal meine HTML Code (es fehlt nur das Element das clickElement() ausführt).

HTML:
<html><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-15">
 <head>
<script type="text/javascript" charset="iso-8859-15" src="mynewtext.js"></script>
<script type="text/javascript"> 
<!-- 
function clickElement()
    { 
   document.getElementById('mydiv').innerHTML = varAusDatei;
   }   
   // -->
  </script>
 </head>
 <body>
<div id="mydiv">Alter Text</div>
</body>
</html>

Und meine "mynewtext.js" sieht so aus:
Code:
var varAusDatei= 'hier steht ein umlaut äöü';

Leider werden die Umlaute nicht richtig dargestellt obwohl ich dachte das es mit dem charset
eigentlich passen sollte.

Würde mich über jede Hilfe sehr freuen.

Grüße
 
Werbung:
Hi,

vielen Dank für deine Antwort.
Ich kenne die Zeichenreferenz bereits aber damit ich den Text ganz normal mit Umlauten schreiben kann wollte ich es vermeiden es direkt im Text so einzusetzen.
Dann hatte ich mir überlegt das ich einfach mit String.replace alle Umlaute umwandle aber es könnten ja vielleicht noch andere Sonderzeichen auftreten. Deswegen wäre das unbedingt die beste Lösung. Deshalb würde ich das gerne irgendwie anders umwandeln.
 
Werbung:
Verwendest du HTML5:
<meta charset="utf-8" />

Verwendest du ein älteres Doctype:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Verwendest du gar kein Doctype:
Sonderzeichen &auml; &uuml; usw...

oder

HTML-Basics

Sollte das alles nicht funktionieren:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Alternativ:
.htaccess - htaccess UTF-8 encoding for .html, .css, .js - Whats the best way? - Stack Overflow

Das sollte genug sein.
 

Nein, diese HTML-Zeichen sind in JavaScript-Texten nicht notwendig.

Verwendest du HTML5:

Verwendest du ein älteres Doctype:

Verwendest du gar kein Doctype:
Sonderzeichen &auml; &uuml; usw...

oder

HTML-Basics

Doctype und HTML-Zeichensatz-Angabe bringt bei JavaScript-Dateien aber nichts. Relevant für eine korrekte Ausgabe ist der Zeichensatz im HTTP-Header und der JavaScript-Datei selbst.

Tronjer hat ja schon die richtige Lösung genannt:

Schon mal was von utf-8 gehört?

D.h. Du musst die JavaScript-Dateien ebenfalls mit dem Zeichensatz utf8 abspeichern. Wie das geht hängt von dem von dir verwendeten Editor ab. Außerdem sollte dein Webserver im HTTP-Header den Zeichensatz utf8 an den Browser melden um die utf8-Zeichen in der Datei korrekt ausgeben zu können.
 
Werbung:
D.h. Du musst die JavaScript-Dateien ebenfalls mit dem Zeichensatz utf8 abspeichern. Wie das geht hängt von dem von dir verwendeten Editor ab.
Aber achte darauf, dass Du die Datein im Format utf8 ohne BOM
abspeicherst, wenn Du die Wahl hast.
Außerdem sollte dein Webserver im HTTP-Header den Zeichensatz utf8 an den Browser melden um die utf8-Zeichen in der Datei korrekt ausgeben zu können.
Wenn das von Haus aus nicht der Fall ist, dann kannst Du mittels PHP dem Header modifizieren, z.B. so:
PHP:
<?php header("Content-Type: text/html; charset=utf-8");?>
 
Ohne PHP geht das auch mittels .htaccess-Datei oder über die Einstellungen am Webserver selbst (wenn man darauf Zugriff hat).
 
Das mit der .htaccess stimmt natürlich auch, aber damit habe ich ja nach wie vor meine Schwierigkeiten :-?
 
Werbung:
Zurück
Oben