java中的非基本字符,如何正确处理编码

java中的非基本字符,如何正确处理编码,java,selenium-webdriver,Java,Selenium Webdriver,当我试图使用我的波兰语f.e.调用带有参数的方法时 node.call("ąćęasdasdęczć") 我将这些字符作为输入字符 Ä?Ä?Ä?asdasdÄ?czÄ 我不知道在maven pom.xml中在哪里设置正确的编码?还是在我的IDE中?我试图在IDE设置中将UTF-8更改为ISO_8859-2,但没有成功。我在寻找类似的问题,但没有找到答案 @编辑1 示例代码: public void findAndSendKeys(String vToSet , By vLocator){

当我试图使用我的波兰语f.e.调用带有参数的方法时

node.call("ąćęasdasdęczć")
我将这些字符作为输入字符

Ä?Ä?Ä?asdasdÄ?czÄ
我不知道在maven pom.xml中在哪里设置正确的编码?还是在我的IDE中?我试图在IDE设置中将UTF-8更改为ISO_8859-2,但没有成功。我在寻找类似的问题,但没有找到答案

@编辑1

示例代码:

public void findAndSendKeys(String vToSet , By vLocator){

    WebElement element;
    element = webDriverWait.until(ExpectedConditions.presenceOfElementLocated(vLocator));
    element.sendKeys(vToSet);

}
By nameLoc = By.id("First_Name");

findAndSendKeys("ąćęasdasdęczć" , nameLoc );
然后在输入字段中,我得到了?asdasd?cz。在IDE中将字符串转换为基本拉丁语会有所帮助,但这不是我需要的解决方案

我在f.e.类中的字段也有问题。我有一个必须将字符串转换为基本拉丁语的类

public class Contacts{

private static final By LOC_ADDRESS_BTN = By.xpath("//button[contains(@aria-label,'Wybór adresu')]"); 

// it doesn't work, I have to use basic latin and replace "ó" with "\u00f3" in my IDE

}
@Edit 2-更改了编码,但问题仍然存在


您应该在所有转换中使用UTF-8。但是,
node.call
做什么呢?最终,必须有正确编码的部分是输入和输出。由于您使用的是文字字符串,因此输入不是问题(尽管您应该还原所做的更改),但输出是什么部分?@realpoint我在Selenium WebDriver中将此字符串用作输入字段我认为您需要添加更多的代码和Selenium标记。你在做什么手术?使用什么类?如果要打开网页,该网页的声明编码是什么?这里没有足够的上下文来给出一个好的答案。@realpoint我编辑了这篇文章并添加了更多信息,在IDE中转换为基本拉丁语每个字符串都有帮助,但我对这个解决方案不满意尝试
\u0105
而不是
ą
(in.java)来检查编辑器是否使用与javac编译器相同的编码。您似乎正在接收UTF-8,但正在将其解释为单字节编码。为了防止操作系统干扰,将文本存储在一个文件中,并使用程序员的编辑器(如记事本++或JEdit)读取,这些编辑器可以使用不同的编码进行读取。