我使用公理从XML中提取数据。
但由于在XML中有CTRL-CHAR(例如:â€,¢,“,”,™,', - 等),我得到了上述错误。
任何机构都可以帮我替换所有CTRL-SHAR以避免上述错误。
答案 0 :(得分:0)
目前我在这种情况下使用以下方法。但我认为必须有比这更好的方法。
public static String removeNonUtf8CompliantCharacters( final String inString ) {
if (null == inString ) return null;
byte[] byteArr = inString.getBytes();
for ( int i=0; i < byteArr.length; i++ ) {
byte ch= byteArr[i];
// remove any characters outside the valid UTF-8 range as well as all control characters
if ( !(ch < 0x00FD && ch > 0x001F) || ch =='&' || ch=='#') {
byteArr[i]=' ';
}
}
return new String( byteArr );
}