Unicode über document.getElementById darstellen
Mirco
- javascript
0 Steffen Weber0 Steffen Weber0 Mirco0 Steffen Weber0 Mirco
0 Mirco
1 Thomas Meinike
Hallo,
ich möchte Unicode (für japanische Zeichen) über ein JavaScript anzeigen (aus z.B. @ wird @) Über dokument.all gehts nur im IE (ist ja auch von dennen). Über document.getElementById schaff ich es nicht. Es wird @ angezeigt.
Hier der Testcode:
...
<script type="text/javascript">
function show() {
document.all.CharA.innerHTML = "@";
document.getElementById("CharB").firstChild.data = "@";
}
</script>
<p id="CharA"> </p> // stellt @ dar
<p id="CharB"> </p> // stellt @ dar
...
PS: Als Content-Type ist iso-8859-1 eingestellt was aber trotzdem functionieren muss.
LG Mirco
Tag,
document.getElementById("CharB").firstChild.data = "@";
probier mal
"\x64";
Grüße,
Steffen.
Tag,
document.getElementById("CharB").firstChild.data = "@";
probier mal
"\x64";
bzw.
alert("\u6464");
Grüße,
Steffen.
bzw.
alert("\u6464");
Geht in beiden Browsern nicht. Ich würds auch nicht verstehen wenn ginge.
Tag,
bzw.
alert("\u6464");
Geht in beiden Browsern nicht. Ich würds auch nicht verstehen wenn ginge.
(Geht nicht - gibt's nicht)
Gibt bei mir ein Alert mit einem jap./chin. Zeichen aus. Die Seite ist codiert als "iso-latin-1" und "\u" steht für Unicode. Gefolgt von 4 hex Zeichen ergibt das ein Unicodezeichen.
Grüße,
Steffen.
Ok so geht's jetzt. Du hast mich auf die richtige Spur gebracht Steffen.
Statt den Dezimal- muss man den Hexadezimaln-Unicode angeben. Das geht in meinem Fall auch. Und statt '@'; dann '\x40'.
Danke ;)
"\x64";
wird im Firefox und IE zu 'd'.
Das ist ja der Hex-Code für 'd' also eigentlich d
Hallo,
document.getElementById("CharB").firstChild.data = "@";
document.getElementById("CharB").firstChild.data = String.fromCharCode(64);
MfG, Thomas
document.getElementById("CharB").firstChild.data = String.fromCharCode(64);
Perfekt! Danke Thomas.
Hallo Thomas.
document.getElementById("CharB").firstChild.data = "@";
document.getElementById("CharB").firstChild.data = String.fromCharCode(64);
Und warum nicht einfach so:
document.getElementById("CharB").firstChild.data = '摤';
AFAIK ist JS die Kodierung der Datei egal. (Nur der JS-Code sollte möglichst UTF-8 sein, da obiges Zeichen sonst verloren geht.)
Einen schönen Dienstag noch.
Gruß, Ashura
Tag,
Und warum nicht einfach so:
document.getElementById("CharB").firstChild.data = '摤';
AFAIK ist JS die Kodierung der Datei egal. (Nur der JS-Code sollte möglichst UTF-8 sein, da obiges Zeichen sonst verloren geht.)
Nein.
Das würde nur gehen, wenn die Seite auch in UTF-8 codiert ist.
Sonst würde da jedes Byte als Zeichen interpretiert. In UTF-8 werden mehrere Bytes als ein Zeichen interpretiert. (o.s.ä.)
Die Codierung macht sicher einen Unterschied.
Grüße,
Steffen.
Hallo,
Und warum nicht einfach so:
document.getElementById("CharB").firstChild.data = '摤';
Weil das offenbar nicht so einfach ist ...
MfG, Thomas
Hallo Thomas.
Und warum nicht einfach so:
document.getElementById("CharB").firstChild.data = '摤';
Weil das offenbar nicht so einfach ist ...
Ja, habe ich ja eingesehen.
Ich bin es nur gewohnt, überall, wo möglich, UTF-8 zu nutzen, daher mache ich mir über so etwas normalerweise keine Gedanken mehr.
Einen schönen Dienstag noch.
Gruß, Ashura