Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Probleme mit Unicode Zeichen: 😎🚩
#1 Probleme mit Unicode Zeichen: 😎🚩
Hallo
Ich experimentiere gerade mit Unicode-Zeichen wie diesen 😎🚩 als Alternative zu den gif-smileys.
Wenn man diesen Beitrag zitiert und eine Antwort nicht beendet, sondern die Seite verlässt und dann in einem zweiten Seitenaufruf die Bearbeitung fortsetzt, geht die Formatierung der Unicode Zeichen verloren: ����
Liegt das Problem in der Autosave-Prozedur?
mfg
#2 RE: Probleme mit Unicode Zeichen: 😎🚩
kleiner Nachtrag:
ursprünglich wollte ich in der "Iconbar" mittels Textbausteinen solche Zeichen 😉 einbinden, aber die Tools sind dafür wohl unbrauchbar ...
Wenn der Fehler im javascript liegt, dann hilft zb:
eine Suche nach String.fromCharCode() im wiki.selfhtml.org
mfg
😀🤣😅😊😍😗☺🤩😐🙄😥😯
Also meinen vorherigen Beitrag habe ich aus dem Autosave erstellt. Allgemein sollte das also gehen.
Wenn das bei dir nicht klappt, müsstest du konkret sagen wo genau das bei euch auftritt.
#5 RE: Probleme mit Unicode Zeichen: ����
Zitat von Ingmar im Beitrag #3
������������☺����������
Zitat von Ingmar im Beitrag #3
������������☺����������
danke für die schnelle Antwort.
jetzt habe ich so lange auf Autosave löschen und Zitate wieder einfügen getippt,
Antwort abbrechen
Seite neu laden und gespeicherte Zitate wieder einfügen
jetzt kann ich die genaue Reihenfolge gar nicht mehr erklären.
auf jeden Fall ändert sich auch die Titelzeile.
Ich benutze übrigens die mobile Ansicht aber das sollte keinen Unterschied machen.
mfg
#6 RE: Probleme mit Unicode Zeichen: 😎🚩
Hallo Ingmar
... habe noch mal im Quellcode gestöbert und sehe in dieser Funktion das Problem.
sie arbeitet nur für utf16 korrekt
2
3
4
5
6
7
8
9
10
11
12
function old_convert2entity(utf8_string) {
var html_entity = "";
for(i=0; i<=utf8_string.length; i++)
{
if(utf8_string.charCodeAt(i)>127){
html_entity += "&#" + utf8_string.charCodeAt(i) + ";";
}else{html_entity += utf8_string.charAt(i);}
}
return html_entity;
}
Trotz der guten Quellen, nach etlichen Versuchen, habe ich folgenden Vorschlag
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function convert2entity(utf8_string) {
// Quelle: https ://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/charCodeAt
// Quelle: https ://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/fromCharCode
// Quelle: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
var html_entity = "";
for(var i=0; i<utf8_string.length; i++){ // i <= utf8_string.length ???
var code = utf8_string.charCodeAt(i);
var hi, low;
if(code<128) {
html_entity += utf8_string.charAt(i);
}
// High surrogate (could change last hex to 0xDB7F
// to treat high private surrogates
// as single characters)
else if (0xD800 <= code && code <= 0xDBFF) {
hi = code;
low = utf8_string.charCodeAt(i + 1);
if (isNaN(low)) {
throw 'High surrogate not followed by ' +
'low surrogate in convert2entity()';
}
i++;
code=((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
// html_entity += "&#" + code + ";" ;
html_entity += "&#x" + code.toString(16).toUpperCase() + ";" ;
}
else {
html_entity += "&#" + utf8_string.charCodeAt(i) + ";";
}
}
return html_entity;
}
mein kleines Testprogramm habe ich noch angehängt
2
3
4
5
6
7
8
9
var msg=document.getElementById("messagetext");
msg.value=decodeURI ("%F0%9F%98%89-%F0%9F%99%81-%E2%82%AC"); 2 Simleys und Euro
var txt=msg.value;
msg.value+="\n=== convert2entity: ====\n"+ convert2entity(txt);
msg.value+="\n=== old convert2entity: ====\n"+ old_convert2entity(txt);
msg.value+="\n=== encodeURI: ====\n"+ encodeURI(txt)+"\n";
das liefert:
😉-🙁-€
=== convert2entity: ====
😉-🙁-€
=== old convert2entity: ====
--€
=== encodeURI: ====
%F0%9F%98%89-%F0%9F%99%81-%E2%82%AC
oder maskiert
2
3
4
5
6
7
=== convert2entity: ====
😉-🙁-€
=== old convert2entity: ====
��-��-€
=== encodeURI: ====
%F0%9F%98%89-%F0%9F%99%81-%E2%82%AC
=== convert2entity: ====
😉-🙁-€
=== old convert2entity: ====
--€
=== encodeURI: ====
%F0%9F%98%89-%F0%9F%99%81-%E2%82%AC
jetzt habe ich auch meine Boardnummer eingetragen, falls du auch mal in meinem kleinen Testforum rumclicken magst.
mfg
#7 RE: Probleme mit Unicode Zeichen: ����
Cool und danke, dass du dir so viel Mühe gemacht hast.
Leider kann ich das nicht einfach so ändern, ohne vorher eine Reihe von Tests zu machen.
Die gute alte convert2entity Funktion ist bei uns an vielen Stellen im Einsatz und vereinheitlicht Daten mit den unterschiedlichsten encodings, die in 25 Jahren Forensoftware so angelaufen sind. Jede kleine Änderung daran könnte also wieder Zeichensatzfehler an anderen, unerwarteten Stellen zur Folge haben.
Aber dein Ansatz scheint zumindest für dieses konkrete Problem richtig zu sein. Ich teste mal ein wenig herum, wie sich das an anderen Stellen auswirkt.
#9 RE: Probleme mit Unicode Zeichen: 😎🚩
Hallo Ingmar, Lucas & alle Ungeduldiigen
Ingmar, deine Bedenken kann ich gut verstehen, gut Test will Weile haben.
Für mich sehe ich auch keinen Handlungsbedarf. Ich habe die alte Funktion einfach auf meiner Seite überschrieben, indem ich die neue Version im "Fußzeilenbereich" als 'Patch' eingetragen habe.
Wer sich quasi als Beta-Tester probieren möchte, kann das ja auch tun und ggf. von Unstimmigkeiten hier berichten.
Diese Idee ist mir erst heute gekommen, mag vielleicht noch unausgegoren sein. Habe es bis jetzt auch nur in der DesktopVariante getestet; im Mobilteil muss es dann ja wiederholt werden ...
Wenn's nicht so funktioniert wie erhofft, lässt es sich ja einfach rückgängig machen.
mfg
#10 RE: Probleme mit Unicode Zeichen: 😎🚩
hallo,
wollte mal testen, ob v6 diesen Bug geerbt hat, scheint so ... 😌
was positives ist mir aber doch aufgefallen, meldet sich z.B. ein User "ageNT_😎" an,
wird im cookie sein Nick einwandfrei gespeichert "ageNT_%26%23128526%3B" und macht auch auf allen Seiten keine Schwierigkeiten 😊
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software