我想在jasper报告中显示外语字符。报告将文本传递给java代码以进行RTF格式化。不幸的是,mysql数据库返回解码后的字符串,如下所示,删除了空格
&安培; iacute;
我想要显示的是
I
有关如何使用java的建议吗?
text:bebidafría
来自数据库: bebida fr& iacute;一个
答案 0 :(得分:2)
这是HTML实体。您可以使用apache commons库中的StringEscapeUtils.unescapeHtml4。
仍然需要了解您的RTF如何处理Unicode。
答案 1 :(得分:1)
如果我理解你的问题,那么你可以使用unicode文字,
System.out.println("bebida fr\u00EDa");
输出是(请求的)
bebida fría
答案 2 :(得分:1)
检查数据库表编码。您也可以尝试使用正确的编码对字符串进行编码。
ByteBuffer encode = Charset.forName("UTF-8").encode(myString);
String encodedStr = new String(encode.array());