Intellij idea Kotlin println特殊字符

Intellij idea Kotlin println特殊字符,intellij-idea,kotlin,special-characters,println,Intellij Idea,Kotlin,Special Characters,Println,我想在Kotlin中打印一些特殊字符(拉丁、希腊字母、中文等),但输出总是???: >> println("Δ") >> ?????? 还尝试了unicode: >> println("\u0394") >> ? 我使用的IDE:IntelliJ IDEA 2018.1.3 我使用的控制台:Kotlin REPL jdk:9.0.4 Kotlin版本:1.2.31(JRE 9.0.4+11) 如何打印正确的字符串 更新(20180512):

我想在Kotlin中打印一些特殊字符(拉丁、希腊字母、中文等),但输出总是
???

>> println("Δ")
>> ??????
还尝试了unicode:

>> println("\u0394")
>> ?
我使用的IDE:IntelliJ IDEA 2018.1.3

我使用的控制台:Kotlin REPL

jdk:9.0.4

Kotlin版本:1.2.31(JRE 9.0.4+11)

如何打印正确的字符串


更新(20180512):

我还尝试通过自制软件安装Kotlin,并在我自己的终端上运行
kotlinc
,它可以正常工作。它在IntelliJ的Kotlin REPL中不起作用。我能去哪里修理


更新(20180513):

尝试了以下内容:

  • 清除IntelliJ缓存
  • 重新安装IntelliJ
  • 使IntelliJ和Kotlin最新
  • 重新启动MacOS(10.12.6)
  • 将Java更新为10.0.1
  • 在Kotlin REPL中再次使用了
    println
    更改为特定错误:

    println("Δ")
    Internal error occurred. Please, send report to developers.
    exception: java.nio.charset.MalformedInputException: Input length = 1
        at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:281)
        at kotlin.io.ConsoleKt.tryDecode(Console.kt:198)
        at kotlin.io.ConsoleKt.readLine(Console.kt:162)
        at kotlin.io.ConsoleKt.readLine(Console.kt:149)
        at org.jetbrains.kotlin.cli.jvm.repl.reader.IdeReplCommandReader.readLine(IdeReplCommandReader.kt:22)
        at org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal.one(ReplFromTerminal.kt:98)
        at org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal.doRun(ReplFromTerminal.kt:69)
        at org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal.access$doRun(ReplFromTerminal.kt:38)
        at org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal$Companion.run(ReplFromTerminal.kt:175)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:105)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:63)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:96)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:72)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:38)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:171)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:162)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:329)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt)
    
    Internal error occurred. Please, send report to developers.
    
    Process finished with exit code 2
    
    似乎读字符编码不同于写字符编码。但我无法配置Kotlin REPL的编码

    而且,我发现在打开Kotlin REPL时有两个java进程正在运行,每次我必须杀死一个才能顺利运行Kotlin REPL时,


    我不确定它们是否相关,所以我附上了这张图片作为参考。已向IntelliJ开发人员报告,但对于大多数人来说,这似乎不是常见的错误。

    尝试运行
    println(“\u0394”)
    。如果这样做有效,您的文件可能不是UTF-8编码。如果没有,则表明您的终端存在问题。

    将其复制并粘贴到IntelliI中,对我来说效果很好。可能是平台问题?尝试将intellij设置中的编码更改为UTF-8@msrd0我使用utf-8作为全局编码和项目编码,但仍然不起作用。另外,我使用了Kotlin REPL控制台,因此出现错误时不会创建任何文件……如果OP在保存后可以打开文件,并且仍然可以看到字符,那么问题就不会出现在源代码级别。不过,编辑器和编译器之间的编码可能不匹配。谢谢@Cristan。我尝试使用unicode,但还是失败了。。。但当我使用自己的终端下载。它只是在IntelliJ的Kotlin REPL中不起作用。。。有关于IntelliJ配置的想法吗?@y.bedrov谢谢,可以:)