停止 ë 在 Angular2 中转换为 ë

stop ë getting transformed to ë in Angular2

我 运行 遇到一个字符串正在转换为其他字符串的问题。像这样的东西 -> "geïnkt" 正在转换成这个 "geïnkt"。在我的模板中,我有一个像这样的对象标签: <object type="text/html" [data]="file"></object>

在我的组件中:

const elem = document.createElement("textarea"); elem.innerHTML = this.sanitizer.sanitize(SecurityContext.NONE, this.content); let url = ``data:text/html,${this.sanitizer.sanitize(SecurityContext.NONE, elem.value.replace(new RegExp('\r?\n','g'), '<br />'))}``; this.file = this.sanitizer.bypassSecurityTrustResourceUrl(url);

所以,我正在做一些消毒工作。现在问题是当我检查元素时,我可以看到数据正确地传递给了数据 属性。但是一旦我进一步打开对象 div ,我就会有这样的结构: #document -> <html><head></head><body><div xmlns="http://www.w3.org/1999/xhtml">geïnkt</div></body></html>

我试过给 charset:UTF-8 但这也没有帮助。任何人都可以帮助我了解这里发生了什么吗?

所以,当我试图在清理后形成 url 时,编码似乎是一个问题。我做了什么:

let url = ``data:text/html;charset=utf-8,${this.sanitizer.sanitize(SecurityContext.NONE, elem.value.replace(new RegExp('\r?\n','g'), '<br />'))};

也包括了字符集编码,它正在工作。