Java中的Frédéric转换为Frédéric
但是,我需要将正确的字符串传递给我的客户。
如何用Java实现呢?

尝试过

String a = "Frédéric";
String b = new String(a.getBytes(), "UTF-8");


但是,字符串b也包含与a相同的值。
我期望字符串应该能够将值存储为:Frédéric
如何正确地将此值传递给客户端。

最佳答案

如果我对问题的理解正确,那么您正在寻找一个函数来修复由于其他编码错误而损坏的字符串?

这似乎在您给出的示例中起作用:

static String fix(String badInput) {
    byte[] bytes = badInput.getBytes(Charset.forName("cp1252"));
    return new String(bytes, Charset.forName("UTF-8"));
}

fix("Frédéric") == "Frédéric"

08-05 00:29