Jest to błąd Próbuję namierzyć tutaj: https://github.com/OscarGodson/EpicEditor/issues/184#issuecomment-8805982Ustaw charset tag meta z JavaScript
Na podstawie wszystkich informacji wydaje jak to dlatego, że przeglądarka jest zalegających do użytkownika natywnego kodowania (w tym sprawa, ISO-8859-1
), a nie UTF-8
jak na moim komputerze i innych w USA. Zgaduję, że poprawka jest użycie kodu HTML, aby wymusić kodowanie do UTF-8
z:
<meta charset='utf-8'>
lub
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
Jednak JS nie działa. W pierwszym przykładzie:
charsetMetaTag = self.editorIframeDocument.createElement('meta');
charsetMetaTag.charset = 'utf-8';
self.editorIframeDocument.getElementsByTagName('head')[0].appendChild(charsetMetaTag);
prostu wrócić następuje wstrzykiwane do DOM:
<meta>
A w 2. przykład http-equiv
nie jest ustawiony:
charsetMetaTag = self.editorIframeDocument.createElement('meta');
charsetMetaTag['http-equiv'] = 'Content-Type';
charsetMetaTag['content'] = 'text/html; charset=utf-8';
self.editorIframeDocument.getElementsByTagName('head')[0].appendChild(charsetMetaTag);
Otrzymuję następujący kod HTML:
<meta content="text/html; charset=utf-8">
Tak, trzeba to zrobić dynamicznie jako dynamicznie tworząc iframe. Może to nie być nawet problem, ale tak właśnie wygląda. Jedynym "hack", jaki mogę wymyślić jest użycie innerHTML ...