public static String filterOutIllegalCharacter(String s) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0, length = s.length(); i < length; i++) {
            char ch = s.charAt(i);
            if ((ch >= '\u0000' && ch <= '\u001F' && ch != '\n' && ch != '\t')
                    || (ch >= '\u007F' && ch <= '\u009F')
                    || BLACKLIST.contains(ch)
            /* || (ch >= '\u2000' && ch <= '\u20FF') */) {
                // ignore
            } else {
                sb.append(ch);
            }
        }
        return sb.toString();
    }