从角度看,实际参数值为É;b&xE9;“尼斯特里”;但在JAVA中“获取价值”Ã;?b&xC3©;“尼斯特里”;

从角度看,实际参数值为É;b&xE9;“尼斯特里”;但在JAVA中“获取价值”Ã;?b&xC3©;“尼斯特里”;,java,angular,encoding,decoding,Java,Angular,Encoding,Decoding,从角度来看,有一个参数,该参数的值是Ébéniserie,但当我用java打印该变量的值时,我得到了Ã?béniserie,您能告诉我如何将其转换为原始文本Ébéniserie吗?我必须应用哪种编码/解码 我试过下面的方法 new String(readable.getBytes("ISO-8859-15"), "UTF-8"); new String(readable.getBytes("UTF-8"), "ISO-8859-15"); 但它不起作用 String readable ="Ã

从角度来看,有一个参数,该参数的值是Ébéniserie,但当我用java打印该变量的值时,我得到了Ã?béniserie,您能告诉我如何将其转换为原始文本Ébéniserie吗?我必须应用哪种编码/解码

我试过下面的方法

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) {

    }
预计:埃贝尼斯特里
实际情况:经过长时间的研究没有发现任何东西

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

下面是示例代码

安格拉斯

window.btoa("Ébénisterie")
爪哇


不能在这些值之间“转换”。你需要原文。字符串中的
表示您丢失了数据。为什么要使用两种不同的编码?很可能,您的输出终端只是不准确地显示字符,而且它们在内存中没有问题。@f1sh我们如何处理“É”字符应该有一些正确的方式,我尝试了不同的编码,但它没有给出正确的output@chrylis那么我如何从内存中得到实际值呢
String actualString= new String(Base64.getDecoder().decode("ENCODED STRING"));