日期:2014-05-17  浏览次数:20650 次

html解析工具 对& nbsp 解析为 ?
可以使用一下方法解决
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继续工具