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

How to fix the encoding problem produced by ANTLR4 in the parser generated?

我在语法中使用了带有消息的错误替代方法。问题是当生成解析器时,消息有编码问题。我该如何解决?

这是我在语法中写的:

{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 更旧的版本,请先尝试升级。