【问题一】invalid byte sequence in GBK”问题 invalid byte sequence in UTF-8”问题

参考地址:http://fantaxy025025.iteye.com/blog/2223849

具体解决方案:

碰见错误:

Ruby代码 收藏代码

test.rb:8:in `match': invalid byte sequence in GBK (ArgumentError)
from test.rb:8:in `block in <main>'
from test.rb:6:in `each'
from test.rb:6:in `<main>'

原因:

平时习惯在文件头部加入# encoding: utf-8 没用的。

理论总是在问题的时候才能闪光。

看此文。Ruby1.9之字符串内编码和外编码

解决方法:

假如外部文件是utf-8编码。

  • 读文件的时候指定外编码:utf-8。 lines = File.readlines('xxx\origin3.txt', :external_encoding => "UTF-8")

  • 行内转码:line.force_encoding("UTF-8")#是修改内编码为UTF8

  • file=File.new(fr).tap{|f|f.set_encoding'utf-8','GBK'}

  • set_encoding 'utf-8','GBK‘ #是将字节流转换成GBK格式的(外编码仍为UTF8)

  • f = File.open 'environment.rb', 'r:gbk' # 如果是 utf-8 编码,就用 'r:utf-8'

f = File.open 'environment.rb', 'r:gbk:utf-8' # 如果是 utf-8 编码,就用 'r:utf-8'

为什么很多人出现此问题?

win7下:

puts "Encoding.default_external=#{Encoding.default_external}"

puts "Encoding.default_internal=#{Encoding.default_internal}"

win7下默认输出:

Encoding.default_external=GBK

Encoding.default_internal=

看见了默认是认为外部编码gbk,但我们一般的习惯文件是utf-8的。

好了,知晓了。

【问题2】

Parser errors:

(20:4): expected: #TagLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got '场场景景:: 课课程程相相关关-发发表表评评论论'

(21:5): expected: #TagLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got '当当 移移动动端端用用户户发发送送POST请请求求'

(22:5): expected: #TagLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got '那那么么 移移动动端端发发送送请请求求接接口口返返回回值值正正确确<rtn_msg><成成功功>'

解决方法:

原因一: .features 文件 里的“场景”后面的冒号是英文的,不是中文的

【Cucumber】【问题集锦】的更多相关文章

  1. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  2. Android之常见问题集锦Ⅱ

    Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...

  3. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  4. Eclipse for Java EE软件操作集锦(二)

    看本文章之前请确保已经了解eclipse建立web工程,如果有疑问请查看本系列文章第一篇 eclipse软件操作集锦(一) 1.我们添加一个servlet 配置一下web.xml测试一下是否能正常显示 ...

  5. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  6. C/C++面试题集锦(一)

    C/C++面试题集锦(一) */--> C/C++面试题集锦(一) 在类的头文件中进行声明然后在定义文件中实现有什么意义? 一方面使类的实现只编译一次,提高编译效率:另一方面可以实现类的接口和实 ...

  7. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  8. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

  9. Cucumber(一): Preparation

    Every time I wrote some code in ruby and executed our cucumber features I craved for something simil ...

随机推荐

  1. SEO三种职位类型:编辑型SEO、技术型SEO、营销型SEO详解

    SEO三种职位类型:编辑型SEO.技术型SEO.营销型SEO详解 网站SEO优化作为营销端的服务之一,这些年也呈现出日新月异的格局.一改过去游兵散将式的小作坊生产模式,不断有力量强大的公司团体加入到这 ...

  2. CentOS7安装MySQL冲突和问题解决小结

    摘自:https://blog.csdn.net/typa01_kk/article/details/49059729 问题1: [root@localhost install-files]# rpm ...

  3. IDEA添加作者和时间信息

  4. kivy Properties

    Introduction to Properties¶ Properties are an awesome way to define events and bind to them. Essenti ...

  5. Golang并发编程中select简单了解

    select可以监听channel的数据流动select的用法与switch语法非常类似,由select开始的一个新的选择块,每个选择条件由case语句来描述 与switch语句可以选择任何使用相等比 ...

  6. jquery获取包含本身的元素

    我们知道,使用jquery获取一个元素内的所有元素非常容易,使用jQuery.html()就可以. 如果是js语法的话,使用domObj.innerHTML也很容易实现. 那么问题来了,要想获取包涵节 ...

  7. Bayesian Program Synthesis - 初步探索

  8. es修改数据类型

    环境:es版本:6.5.0 es创建好了mapping后是不允许修改字段类型的,要是我们想修改字段类型怎么办呢,我们可以采用reindex的方法实现,就是创建一个新的mapping,里面的字段类型按照 ...

  9. SSL及其加密通信过程

    SSL及其加密通信过程 什么是SSL SSL英文全称Secure Socket Layer,安全套接层,是一种为网络通信提供安全以及数据完整性的安全协议,它在传输层对网络进行加密.它主要是分为两层: ...

  10. 闭包引起的onclick不起作用

    问题描述:在html页面绑定onclick="cli()" 方法,定义在$(function( function cli(){} ))不起作用 $(function(){ func ...