java - 无法显示特殊字符

标签 java

我无法在屏幕上显示特殊字符(抛光字符)。我有一个要求,我从数据库中获取具有一些特殊字符的数据。我以 xml 格式获取数据(xml 未将其识别为字符串)并将其传递给我尝试显示数据的操作。我正在尝试将特殊字符的 Uniciode 作为 ł 但是当我尝试显示时,它被转换为 ł 所以我无法显示它,因为它不将其作为字符串。

String ex1="ł";
System.out.println("ex1...."+ex1);
output:: ?

我正在尝试使用以下代码获取 Unicode::

    public static String convert (String str) throws UnsupportedEncodingException
    {
        String tc = str;
        String output = "";
        char[] ca = tc.toCharArray();
        for (int i = 0; i < ca.length; ++i) 
             {
               char a = ca[i];
               if ((int) a > 255) 
                    {
            output += "&"+"#X"+ Integer.toHexString((int) a) + ";";
               } 
                   else 
                   {
            output += a;
              }
        }
        return output;
    }

输出为:如果输入为 str="ł",则 output=ł

最佳答案

不要重新发明轮子!使用 escapeXml StringEscapeUtils 的方法来自 Apache Commons Lang 的类(class)库,这使得这个简单的解决方案成为可能:

StringEscapeUtils.escapeXml(input);

关于java - 无法显示特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885073/

相关文章:

Java 相当于 Python 的 "construct"库

java - Android:SlidingLayer 事件监听器 Onclose

java - 通过将排序后的集合添加到 SortedSet 来重新排序其成本有多高

java枚举类型实例化

java - 错误: unreported exception InterruptedException; must be caught or declared to be thrown (calling AsyncTask)

java - 将结果集值添加到 Hashmap Map<String,Object> 类型中

java - EntityManager.find 方法导致 MySQLIntegrityConstraintViolationException

java - MS-Outlook PST 文件和 MS-Outlook MSG 文件之间有什么关系?

java - logback - 没有行尾分隔符

Java EE 7 容器 : initialize bean at startup without adding it to beans. xml?