最近发现本地执行jekyll serve
预览自己的博客时,点开文件名带中文的post会报404,看报错信息估计原因是路径解析时出现乱码。在网上找到了解决办法:按以下说明修改Ruby安装目录下lib\ruby\2.x.x\webrick\httpservlet下的filehandler.rb,建议修改前先作备份。
找到以下两行,在两行之间加一行path.force_encoding("UTF-8")
:
path = req.path_info.dup.force_encoding(Encoding.find("filesystem"))
if trailing_pathsep?(req.path_info)
再找到以下两行,在两行之间加一行base.force_encoding("UTF-8")
:
break if base == "/"
break unless File.directory?(File.expand_path(res.filename + base))
修改后保存文件,重新执行jekyll serve
即可正常打开之前报404的post。
参考资料:https://blog.csdn.net/yinaoxiong/article/details/54025482