我们一个应用,字符集是 UTF-8 的,但之前有导入一些内容包含了一些怪字符,这些字符本身不在 UTF-8 范畴之内的,例如: Apache Commons工具集简介 ��� 导致根据这个内容生成的 XML 文档或者是其他文本都不被编辑器所识别,一些XML解析库也会报XML格式错误的信息 大家有碰到这种问题一般是如何处理呢,现在想对这样的内容做过滤,也不知道该怎么过滤
Java 可以用如下方法来来过滤
/** * Function to strip control characters from a string. * Any character below a space will be stripped from the string. * @param iString the input string to be stripped. * @return a string containing the characters from iString minus any control characters. */ public String stripControlChars(String iString) { StringBuffer result = new StringBuffer(iString); int idx = result.length(); while (idx-- > 0) { if (result.charAt(idx) < 0x20 && result.charAt(idx) != 0x9 && result.charAt(idx) != 0xA && result.charAt(idx) != 0xD) { if (log.isDebugEnabled()) { log.debug("deleted character at: "+idx); } result.deleteCharAt(idx); } } return result.toString(); }######还可以试试正则表达式
stringName.replaceAll("[^\\p{Print}]", "");######乖乖,犀利######鉴客的正则耍得太犀利了。 受教了。######PHP的 http://php.net/manual/zh/function.urldecode.php######红薯又不干好事,扒人网页了吧######我的做法就是转码unicode###### 我导日文数据的时候,出现过这个问题,一般情况下是编码转换。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。