Java 如何修复ANTLR4在生成的解析器中产生的编码问题?

Java 如何修复ANTLR4在生成的解析器中产生的编码问题?,java,eclipse-plugin,antlr4,Java,Eclipse Plugin,Antlr4,我在语法中使用带有消息的错误选项。问题在于,在生成解析器时,消息存在编码问题。我怎样才能解决这个问题 这是我在语法中写的: {notifyErrorListeners("À corriger – l'expression ne correspond pas au type de l'attribut");} 这就是生成的解析器的功能: notifyErrorListeners("� corriger � l'expression ne correspond pas au type de

我在语法中使用带有消息的错误选项。问题在于,在生成解析器时,消息存在编码问题。我怎样才能解决这个问题

这是我在语法中写的:

{notifyErrorListeners("À corriger – l'expression ne correspond pas au type de l'attribut");}
这就是生成的解析器的功能:

notifyErrorListeners("� corriger � l'expression ne correspond pas au type de l'attribut");

如果使用最新的ANTLR4版本(4.7.2)执行此操作,请尝试对以下字符使用Unicode转义:

{notifyErrorListeners("\u0192 corriger \u2013 l'expression ne correspond pas au type de l'attribut");}

如果使用4.7.2以上的旧版本,请先尝试升级。

如果使用最新的ANTLR4版本(4.7.2),请尝试对以下字符使用Unicode转义:

{notifyErrorListeners("\u0192 corriger \u2013 l'expression ne correspond pas au type de l'attribut");}

如果使用的是4.7.2以上的旧版本,请先尝试升级。

您遇到的问题的确切性质是什么?您遇到的问题的确切性质是什么。生成的解析器保留Unicode,不会替换为字符。@talohsa当然,转义将保留,但当该字符串打印到控制台或写入文件时,您应该可以看到实际的字符。我照您说的做了,但它现在仍在工作。生成的解析器保留Unicode,不会替换为字符。@talohsa当然,转义将保留,但当该字符串打印到控制台或写入文件时,您应该可以看到实际字符。