Ustaw metatag charset z JavaScript

Jest błąd, który próbuję wyśledzić tutaj:https://github.com/OscarGodson/EpicEditor/issues/184#issuecomment-8805982

Na podstawie wszystkich informacjiwydaje się na przykład dlatego, że przeglądarka domyślnie używa macierzystego zestawu znaków użytkownika (w tym przypadkuISO-8859-1) i nieUTF-8 jak na mojej maszynie i innych w USA. Zgaduję, że poprawka polega na użyciu HTML do wymuszenia kodowaniaUTF-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);

Po prostu odzyskuję następujące elementy wstrzyknięte do DOM:

<meta>

A w drugim przykładziehttp-equiv nie jest ustawiany:

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, muszę to robić dynamicznie, ponieważ dynamicznie tworzę ramki iframe. Może to nawet nie być problemem, ale tak właśnie wygląda. Jedynym „hackiem”, o którym myślę, jest jakoś używanie innerHTML ...

questionAnswers(2)

yourAnswerToTheQuestion