1

我想在 groovy 中打印 √ (\u221A) http://www.fileformat.info/info/unicode/char/221a/index.htm字符

file = new File("log.txt")
if(!file.exists()){
    file.createNewFile()
}

file.withWriter('UTF-8'){
    file.write("\u221A √")
}

我在十六进制编辑器中得到3F 20 E2 3F 9A

我不知道为什么会这样。在第二种情况下,它看起来类似于 0xE2 0x88 0x9A ,这是该字符的正确 UTF-8。

我尝试使用选项 -c UTF-8 运行 groovy,但我得到了3F 20 3F

4

2 回答 2

1

原来我需要

JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 

在我的 Windows 环境变量中。

于 2013-01-11T01:17:01.650 回答
0

对于那些使用 Groovy 脚本处理此错误并使用另一个控制台(例如 Git Bash)的人,请将变量名称更改JAVA_TOOL_OPTIONSJAVA_OPTS

export JAVA_OPTS=-Dfile.encoding=UTF-8
于 2020-07-21T19:39:10.067 回答