【问题标题】:Monaco Editor showing character on empty line摩纳哥编辑器在空行上显示字符
【发布时间】:2019-05-31 23:51:16
【问题描述】:

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

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

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

monaco 编辑器的输出示例:

int i = 0

函数 f(){

}

【问题讨论】:

    标签: javascript html css typescript monaco-editor


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,添加html标签解决了问题。
    【解决方案2】:

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 2018-12-18
      相关资源
      最近更新 更多