在使用 Hexo 的站内搜索时,发现搜索的内容不全。单步调试发现xml解析不完整,有部分内容被截断了。
在浏览器中打开/search.xml发现以下错误。显然xml中有非法字符,xml解析产生了错误。
将search.xml文件保存,并用python打开,找到具体出错的位置。
utf8解码之后可以发现\x10
非法字符,将其删除,重新生成文章问题解决。
1 2 3 4 5 6 7
| >>> xxx = open('./tmp.xml', 'rb').read() >>> xxx.index(b'\x10\xE7\x84\xB6') 923278 >>> xxx[923278:923278+31] b'\x10\xe7\x84\xb6\xe5\x88\x99\xef\xbc\x8c\xe4\xbb\x8a\xe4\xb9\x8b\xe4\xb8\x96\xe4\xba\xba\xef\xbc\x8c\xe7\xb1\xbb\xe6\xad\xa4' >>> xxx[923278:923278+31].decode() '\x10然则,今之世人,类此'
|