错误:编码为windows-1251的字符无法映射(0x98)

6
我在项目的组装方面遇到了问题:

D:...\Main.java:112: 错误:编码为windows-1251时存在无法映射的字符 (0x98)
robot.getBrowserControl().findElement(By.xpath("//div[.='НАПИСАТЬ']")).click();

这个错误位于以下代码行: robot.getBrowserControl().findElement(By.xpath("//div[.='НАПИСАТЬ']")).click();

图片展示: error, IDEA设置。右下角选择的是UTF-8。我不确定,但也许它像符号“И”。

img errors

这是我的gradle文件:

plugins {
    id 'java'
}

group 'ru.grbi3yh.processthesefiles'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

jar {
    baseName = 'ProcessthFiles'
}


apply plugin: 'application'

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '2.41.0'
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
}

1
你尝试过重命名元素,以便它不使用特殊字符吗? - Geshode
伙计们,那不是元素的名称,那是元素的内容。 - kumesana
"robot"和"By.xpath()"并不影响此错误。在类本身中,开发人员有一个注释,并且有符号"И",也有一个错误。请查看图像"error"。 - GRbI3yH
请不要发布可以作为(代码格式化)文本发布的截图。编辑您的问题,用实际文本替换这些截图。 - Mark Rotteveel
我真的没有看到它的错误,但是我对Gradle的信任很少。我会尝试添加compileJava.options.encoding ='UTF-8' - kumesana
显示剩余9条评论
3个回答

8

设置Java编译选项应该会有所帮助:

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

请问CMB能告诉我应该把这两行代码放在哪里吗? - Alex Rodionow
在项目的 build.gradle.kts 文件的 tasks 部分中: tasks { compileJava.options.encoding = "UTF-8" } - Nolequen

2
作为解决这个错误的另一种方法:

"error: unmappable character (0x98) for encoding windows-1251"

你也可以在Custom VM Options...内更改默认编码

enter image description here

例如,添加:
-Dfile.encoding=UTF-8

帮助 | 编辑自定义VM选项,然后重新启动IntelliJ IDEA。


0

我不知道我是否为这个问题太晚了(很确定是),但我的建议可能对其他人有所帮助 - 问题在于西里尔字母符号。我遇到了同样的问题,通过使用 ANSI 格式保存文件解决了该问题(如果您使用像记事本这样的文本编辑器,可以将文件保存为 ANSI 编码。也许这个选项应该在 IDE 中)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接