可以使用一下方法解决
1. 替换
s = new String(s.getBytes(),"GBK").replace('?', ' ').replace(' ', ' ');
但是会导致正常的?也会被替换掉
2. 转换为char进行分析
/**
* 把字符串中的异常空格进行转换
* @param s
* @return
*/
public static String changeStr(String s) {
int errorSpaceValue = 160;
int rightSpaceValue = 32;
char[] c = s.toCharArray();
int charToInt = 0;
for (int i = 0; i < c.length; i++) {
charToInt = c[i];
// 查看后发现?对应的char值为160
// 而正常的空格对应的值应该为32则可以进行转换下在输出
if (charToInt == errorSpaceValue) {
c[i] = (char)rightSpaceValue;
}
}
return new String(c);
}
是无意中想到的一种方法,在自己的实际中可以实现.还不知道有什么隐藏的问题
上面出现?值对应160使用的是jsoup继续工具