摩纳哥编辑器在空行上显示字符

Monaco Editor showing character on empty line

我的问题是,每当我在 monaco 编辑器中开始一个新行时,它都会显示字符 Â,但我不能 select 它,一旦我开始写东西它就会消失并出现如果我清空行。

我已经尝试在我正在使用的代码中找到这个字符的来源,但没有成功(这是一个更大的项目,由其他人启动,从我开始的那一刻起,错误就已经存在了开始研究它)。我尝试查看 monaco 编辑器的 API 以找到此错误可能起源的某种线索,但也没有成功。如果有人遇到类似的问题或知道我应该去哪里寻找,我将非常感激。

很抱歉没有包含代码或最小的、可重现的示例,但我真的不知道如何重现它,因为我不知道是什么变化甚至首先触发了它。

monaco 编辑器的输出示例:

int i = 0

函数 f(){

}

听起来像是编码问题。它可能将 &nbsp; 解释为 Â。我想你在 ISO-8859-1 中并且想在 UTF-8 中,所以把它放在 HTML 的顶部:<meta charset="utf-8">.

编辑:另一件可能有用的事情是简单地复制他们的代码,将其粘贴到编辑器中,将编码更改为 UTF-8,然后 copy-pasting 将其放回原始文件中。

https://www.diycode.cc/projects/Microsoft/monaco-editor

header("Content-Type: text/html; charset=utf-8");
?>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <script src="controls/monaco/loader.js"></script>
</head>
<body>

<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
<script>
    require.config({ paths: { 'vs': 'controls/monaco' }});
    require(['vs/editor/editor.main'], function() {
        var editor = monaco.editor.create(document.getElementById('container'), {
            value: [
                'function x() {',
                '\tconsole.log("Hello world!");',
                '}'
            ].join('\n'),
            language: 'javascript'
        });
    });
</script>

</body>
</html>