wenn aus 😯 was Undefiniertes �� wird ...

21.05.2023 16:32
#1 wenn aus 😯 was Undefiniertes �� wird ...
l2
Mitglied

hier Probleme mit Unicode Zeichen: 😎🚩 hatte ich schon mal gezeigt,
was die Ursache für diese Zeichen �� ist.

Im javascript unterstützt die Methode String.charCodeAt() erstmal nur UTF-16 Zeichen und erst mittels einiger mathmatischer Operationen kann man alle UTF-8 Zeichen bearbeiten.

Mittlerweile wird eine neue Methode String.codePointAt() von allen Browsern unterstützt, die die Handhabung von UTF-8 Zeichen einfacher und eleganter macht.

// https://wiki.selfhtml.org/wiki/JavaScrip...ring/charCodeAt
// https://wiki.selfhtml.org/wiki/JavaScrip...ng/fromCharCode
// https://developer.mozilla.org/en-US/docs...ring/charCodeAt

// https://wiki.selfhtml.org/wiki/JavaScrip...ing/codePointAt
// https://wiki.selfhtml.org/wiki/JavaScrip...g/fromCodePoint
// https://developer.mozilla.org/en-US/docs...ing/codePointAt
// https://developer.mozilla.org/en-US/docs...g/fromCodePoint



1
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
 
<script>
document.addEventListener('DOMContentLoaded', function(){
 
convert2entity = function (utf8_string) {
 
let html_entity="";
for (const item of utf8_string) {
if (item.codePointAt(0) > 127) {
html_entity += "&#" + item.codePointAt(0) + ";";
} else {
html_entity += item;
}
}
return html_entity;
}
 

window.setTimeout(function(){
 
if (typeof (xobor) == 'object' && xobor.mbt)
xobor.mbt.convert2entity = function(utf8_string) {
 
var html_entity;
 
if (typeof(utf8_string) =="string") {
html_entity = convert2entity(utf8_string)
} else {
html_entity = JSON.parse( convert2entity( JSON.stringify(utf8_string)))
}

return html_entity;
}
},400); // Timeout
 
}); // domcontent
</script>
 
 



Im V4 wird dieser Code ins Feld Admin - Layout - Kopf&Fußzeile - Fußzeile kopiert.
und für den Mobilteil Admin - Layout - mobil - eigenes HTML/JS

Damit wird die alte, fehlerhafte Funktion convert2entity() ersetzt

Im V6 wird der Code ins Feld Admin - Layout - Farben&Einstellungen - eigenes HTML/JS eingetragen.





... würde es „Fussball spielen” heissen

vG Bernd‍

 Antworten

 Beitrag melden
22.05.2023 13:32
avatar  Ingmar
#2 RE: wenn aus 😯 was Undefiniertes �� wird ...
avatar
Technik

Ich habe das auf einem Server beim letzten Update so eingespielt und konnte bisher keine Probleme finden.

Ich denke mit dem nächsten Update geht das dann für alle Server online.
Das ist dann übrigens die erste Änderung an dieser Funktion nach über 10 Jahren

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!