将数字实体转换为可读格式

时间:2012-02-24 10:09:15

标签: java database string unicode utf

我在数据库中存储了以下Unicode格式的字符串。

كنت قد دخلت بالفعل في مكان آخر من

现在,我想将该字符串转换为可读格式。在Java中,我该怎么做?

1 个答案:

答案 0 :(得分:4)

由于这些是HTML实体,因此您需要某种库方法将它们解析为它们所代表的字符。

例如,Apache Commons有StringEscapeUtils.unescapeHtml,我确信还有很多其他的。

如果您真的想自己推送一些内容,对于这种特殊情况,您可以标记&#;之间的数字,将它们解析为十六进制int,并调用Character.toChars进行转换他们是Java角色。但是,与使用库相比,它需要更多的工作并且包含更多的错误,并且我确信在规范中存在我正在掩饰的边缘情况。

要么给出结果

  

ᘃᘆᕸᘂᖃᖃᖂᘄᕸᕶᕵᘄᘁᖓᘄᘁᘐᘅᘃᕵᘆᕰᖂᖅᘅᘆ

(顺便说一下,我认为你应该更加明确'可读格式'的含义。我现在可以读取那个字符串 - 它是一系列实体引用。你是开发人员,确切地说!)