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

时间:2019-05-31 23:51:17

标签: javascript html css typescript monaco-editor

我的问题是,每当我在monaco编辑器中开始新行时,它都会显示字符Â,但是我无法选择它,并且一旦我开始写东西,它就会消失,如果我清空该行,它将再次出现

我已经尝试在我正在使用的代码中找到此字符的来源,但没有成功(这是一个由其他人启动的较大项目,并且从我开始工作的那一刻起,错误就已经存在在上面)。我尝试研究了摩纳哥编辑器的API,以找到此错误可能源自的某种线索,但也没有成功。如果有人遇到过类似的问题或有其他想法我应该去哪里看,我将不胜感激。

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

摩纳哥编辑器的输出示例:

int i = 0

函数f(){

}

2 个答案:

答案 0 :(得分:0)

听起来像编码问题。可能是将&nbsp;解释为Â。我认为您使用的是ISO-8859-1,并且希望使用UTF-8,因此请将其放在HTML的顶部:<meta charset="utf-8">

编辑:另一种可行的方法是简单地复制他们的代码,将其粘贴到编辑器中,将编码更改为UTF-8,然后将其复制粘贴回原始文件中。

答案 1 :(得分:0)

请参见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>