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"