< Back

jekyll中文文件名本地预览问题

在使用jekyll的时候,如果本地的文件是中文,在预览的时候会无法预览,这是因为文件路径的编码问题导致找不到文件,这里我在谷歌找到了解决方法,亲测有效。原文

原文转载

jekyll 目前支持 _post 目录下多级目录和中文路径,但本地预览时,如果markdown文件名是中文的,会导致无法无法访问。

解决办法:

修改安装目录\Ruby22-x64\lib\ruby\2.2.0\webrick\httpservlet下的filehandler.rb文件,建议先备份。

找到下列两处,添加一句( + 的一行为添加部分)

path = req.path_info.dup.force_encoding(Encoding.find("filesystem")) + path.force_encoding("UTF-8") # 加入编码 if trailing_pathsep?(req.path_info) break if base == "/" + base.force_encoding("UTF-8") # 加入編碼 break unless File.directory?(File.expand_path(res.filename + base))

然后重启服务器即可jekyll clean && jekyll s