Java编码UTF-8德语Umlaute

时间:2020-01-09 12:35:18

标签: java parsing encoding utf-8

所以我试图实现一个UTF-8编码器来为我的xml文件正确解析德语Umlaute。 我发现以下代码:

private static String convertToUTF8(String s) {
        String out = null;
        try {
            out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
            System.out.println(out);
        } catch (java.io.UnsupportedEncodingException e) {
            return null;
        }
        return out;
    }

接收LDAP属性:

            LdapContext ctx = new InitialLdapContext(environment, null);
            ctx.setRequestControls(null);
            NamingEnumeration<?> namingEnum = ctx.search("...", "...",
                    getSimpleSearchControls());
            if(namingEnum.hasMore()) {
                SearchResult result = (SearchResult) namingEnum.next();
                Attributes attrs = result.getAttributes();
                namingEnum.close();
                ctx.close();
                System.out.println(attrs);

属性使用示例:

String title = attrs.get("title")!=null?attrs.get("title").toString().split(":")[1].substring(1):"";

然后将“ title”字符串仅添加到另一个字符串中,然后发送到服务器。 当必须处理诸如“ä”或“ö”之类的小Umlaut且服务器也接受这些字符时,该代码可以很好地工作。 对于大写字母,例如“Ä”或“Ö”,它突然停止工作,服务器回答我,UTF-8的编码错误。

有人知道如何解决这个问题吗?

编辑:因此,我发现将编码添加到postRequest中实际上使我可以将硬编码的UTF-8字符发送到服务器,并且它可以接受:)

Edit2:实际上我不知道为什么和如何,但是似乎只是将字符集添加到postRequest实际上解决了我在编码方面遇到的所有问题。下次遇到此类问题时,我会记住这一点。

问候

0 个答案:

没有答案
相关问题