invalid byte sequence in GBK(github rake generate 发布文章时字符乱码解决办法)

当我使用rake generate想生成静态页面时,提示出现编码问题:

我很确定_post目录下的markdown文件已经是无BOM的UTF-8格式了,但只要该markdown文件中包含有中文字符就会出现上面的错误。

解决方案:

找到你的Ruby安装目录,如我的是:D:\Ruby193, 在里面找到文件D:\Ruby193\lib\ruby\gems\1.9.1\gems\jekyll-0.12.0\lib\jekyll\convertible.rb

在该文件中找到下面句子:


# Returns nothing.

    def read_yaml(base, name)

      self.content = File.read(File.join(base, name))

将它修改为:


# Returns nothing.

    def read_yaml(base, name)

      self.content = File.read(File.join(base, name),:encoding=>"utf-8")

然后确保所有带中文字符的markdown文件是无BOM的UTF-8格式即可。

时间: 2024-10-27 20:12:16

invalid byte sequence in GBK(github rake generate 发布文章时字符乱码解决办法)的相关文章

php gbk转换utf8丢失字符与乱码解决办法

一.编码范围 1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 x80-xff 中文 2. UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u0800-u4e00 (日文) ps: 韩文是大于[u9fa5]的字符 例  代码如下 复制代码 $c = '测试•字符传换•五一快乐!'; echo iconv('utf-8', 'gb

php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法_php技巧

错误提示Invalid byte 1 of 1-byte UTF-8 sequence原因分析在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK.GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因. 把xml的encoding属性值UTF-8改为UTF8org.xml.sax.SAXParseException:

Invalid byte 1 of 1-byte UTF-8 sequence解决办法

错误提示 Invalid byte 1 of 1-byte UTF-8 sequence 原因分析 在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK.GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因. 把xml的encoding属性值UTF-8改为UTF8 org.xml.sax.SAXParseExcepti

GitHub无法访问或访问缓慢解决办法

缘由 由于众所周知的原因,Github最近无法访问或访问很慢. 由于Github支持https,因此此次屏蔽Github采用的方法是dns污染,用户访问github会返回一个错误的IP 翻墙当然是一种解决办法了,但总感觉不是很爽 临时解决办法 在终端执行指令sudo vi /etc/hosts打开hosts文件进行编辑 插入如下内容,保存退出即可! # github 204.232.175.78 http://documentcloud.github.com 207.97.227.239 htt

zend framework Invalid command RewriteEngine 解决办法

zend framework invalid command 'rewriteengine'解决办法 zend framework  tutorial时候,运行例子,浏览器报错为: the server encountered an internal error and was unable to complete your request. either the server is overloaded or there was an error in a cgi script. apache

Jquery跨域获得Json时invalid label错误的解决办法_jquery

最后,仔细安静下来,细读 json 官方文档后发现这么一段: JSON数据是一种能很方便通过JavaScript解析的结构化数据.如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求.如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp

c#-[C#] byte.parse中调试过程中报字符串转换为DataTime时的错误

问题描述 [C#] byte.parse中调试过程中报字符串转换为DataTime时的错误 如图提示 解决方案 用字符串 68 86 20 05 00 00 00 68 11 04 00 01 01 02 测试能通过 但是用字符串 FE FE 68 86 20 05 00 00 00 68 91 06 33 34 34 35 34 57 6D 16 测试报这个错误

使用github出现的错误以及解决办法

1.archermind@aclgcl-ubnt:/local/frameworktools$ git push error: The requested URL returned error: 403 while accessing https://github.com/songjinshi/frameworktools.git/info/refsfatal: HTTP request failed 解决办法: git remote set-url origin https://songjin

Ubuntu下Apache启动错误:Invalid command Order解决办法

解决办法:在终端里输入如下命令即可:  代码如下 复制代码 sudo a2enmod authz_host; 下面附上windows下解决办法  代码如下 复制代码 LoadModule   status_modulemodules/mod_status.so <Location /status>   SetHandler server-status   Order Deny,Allow   Allow from all   #allow from 127.0.0.1 </Locatio