由于字符串中的特殊字符,我的应用程序出现故障。
例1:你能看到吗?显示的字符而不是'。
文本:
巴黎拉德芳斯希尔顿酒店位于新凯旋门脚下,地处欧洲最大的商业区的正中心,让您可以轻松前往巴黎一些最著名的景点。只有几分钟的路程...
截屏 :
例如 2:使用 AXIOM 解析具有特殊字符(如 '、& 等)的 XML 时的解析器异常。
XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new StringBufferInputStream(responseXML));
OMElement documentElement = new StAXOMBuilder(parser).getDocumentElement();
我发现很多帖子在被发现时将其删除。例如: 如何去除 MySQL 中不适合 utf8 编码的坏字符? 使用声明的 encoding=utf-8 从 xml 中删除非 UTF-8 字符 - Java
我正在使用以下字符来删除不符合 UTF 的字符。
if (null == inString ) return null;
byte[] byteArr = inString.getBytes();
for ( int i=0; i < byteArr.length; i++ ) {
byte ch= byteArr[i];
if ( !(ch < 0x00FD && ch > 0x001F) || ch =='&' || ch=='#') {
byteArr[i]=' ';
}
}
return new String( byteArr );
但这会导致另一个问题,即删除一些信息字符,如 '.
我想做的是,我想以有意义的方式替换它们,而不是简单地删除它们。例如:' 可以替换为 ',& 可以替换为 'and' 等。有什么标准方法可以做到这一点,而不是手动一一替换?