我创建了一个Java应用程序,它解析文本文件以提取正在加载到数据表的字段。我们发现了一些异常处理,表格不能接受特殊字符,特别是Â
等。
当我查看它们时,这些字符在输入文件中显示为空格,但Java以不同方式解释它们。我怀疑这是一个不同的字符代码。
我的问题是:为了过滤掉这些字符,有什么方法可以生成Java所见的列表?我正在考虑打印CHAR和字符代码,如果可能的话,还要设置字符~set~(ASCII,ANSI,UTF-8等)。从那以后,我可以在结束文件中替换字符的空格并解决我的问题。
我没有看到更简单的解决方案吗?
答案 0 :(得分:1)
尝试解码说UTF8?
public static byte[] stringToByteArray(String s)
throws UnsupportedEncodingException {
return s.getBytes("UTF-8");
}
或其他一些像“iso-8859-1”并将该bytearray转换为字符串并尝试打印它?
答案 1 :(得分:1)
听起来你正在穿越字符集,或者输入文件中有某种控制字符序列。你应该集中精力在它的那一边,并确保你正在使用正确的字符集。我能想到的唯一方法是汇总文件中的字符列表是一个数组并循环文件。
如果您真的想要删除所有这些内容,请查看此主题
Regular expression for excluding special characters
它解释了如何使用正则表达式对白名单和黑名单进行黑名单。