从 Angular 实际参数值是 "Cabinet" 但在 JAVA 得到值 "Cabinet"

From Angular Actual parameter value is "Ébénisterie" but in JAVA getting value "Ã?bénisterie"

从 Angular 开始,有一个参数,该参数的值是 Ébénisterie 但是当我在 java 中打印该变量的值时,我得到了 Ébénisterie 可以吗让我知道如何将其转换为原始文本 Ébénisterie?我必须申请哪个Encode/decode?

我试过下面的方法。

new String(readable.getBytes("ISO-8859-15"), "UTF-8");
new String(readable.getBytes("UTF-8"), "ISO-8859-15");

但它不起作用。

String readable ="�bénisterie Distinction";
String test = null;
    try {
         test = new String(readable.getBytes("ISO-8859-15"), "UTF-8");
         System.out.println("test"+test);
    } catch (UnsupportedEncodingException e) {

    }

预计:Ébénisterie 实际:É?bénisterie

经过长时间的研究没有找到任何东西。

所以想到了一个解决方案,BASE64 编码解码 所以现在从 Angularjs 发送编码文本,在 java 端,我已经解码了文本.

这里是示例代码

Angularjs

window.btoa("Ébénisterie")

JAVA

String actualString= new String(Base64.getDecoder().decode("ENCODED STRING"));