wzpan / hexo-generator-search

A plugin to generate search data for Hexo.
MIT License
461 stars 84 forks source link

生成的 search.xml 中文章的 url,有时候就是附带乱码的,有时候是正常的文章链接 #53

Closed zhwangart closed 5 years ago

zhwangart commented 5 years ago

生成的 search.xml 中文章的 url,有时候就是附带乱码的,有时候是正常的文章链接... 概率是:正常1次,乱码2次,如此循环。 但是带乱码的文章 url 有时候能打开链接过去,这时候就形成了一个新的链接地址,如果使用 gitalk 的话,就回生产一个新的 issus ,当然更多时候是出现 404 。

请问下大神这是如何导致的?

wzpan commented 5 years ago

这是因为中文字符被URL encode了。应该不影响使用。

zhwangart commented 5 years ago

纯英文标题的文章也会出 url 现附带乱码这一情况...

wzpan commented 5 years ago

除了文章标题之外,permulink 以及正文中的章节如果有中文字符也依然可能导致有乱码呀

zhwangart commented 5 years ago

看到有一个方法可以解决问题,是将 node_modules/hexo-generator-searchdb/templates/xml.ejs 文件中的:

<url><%- encodeURIComponent(config.root + post.path) %></url>

修改为

<url><%- encodeURI(post.path) %></url>

请问这么做会对功能有什么影响吗?

wzpan commented 5 years ago

有没有发现你只是去掉了 config.root 。乱码有可能就是这个引起的。