我正在使用公理从 XML 中提取数据。
但由于 XML 中包含 CTRL-CHAR(例如:â、€、¢、“、”、™、’、– 等),我遇到了上述错误。
任何人都可以帮我更换所有的 CTRL-SHAR 以避免上述错误。
最佳答案
目前我在这种情况下使用以下方法。但我认为一定有比这更好的方法。
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 );
}
关于java - com.ctc.wstx.exc.WstxUnexpectedCharException : Illegal character ((CTRL-CHAR, 代码 15)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424112/