【问题一】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. php 当前时间 当前时间戳和数据库里取出的时间datetime格式进行比较大小

    php 当前时间 当前时间戳和数据库里取出的时间datetime格式进行比较大小 UNIX时间戳转换为日期用函数: date() ,date('Y-m-d H:i:s', 1500219870); 日 ...

  2. AtCoder Beginner Contest 044 A - 高橋君とホテルイージー / Tak and Hotels (ABC Edit)

    Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement There is a hotel with ...

  3. 前端框架VUE----cli脚手架(框架)

    一.创建vue项目 npm install vue-cli -g #-g全局 (sudo)npm install vue-cli -g #mac笔记本 vue-init webpack myvue # ...

  4. Servlet上传下载

    下面是一个jsp页面(method和enctype必须要有) //页面<form action="file?file=upLoadByjs" method="pos ...

  5. 计算概论(A)/基础编程练习(数据成分)/2:奥运奖牌计数

    #include<stdio.h> int main() { // n天的决赛项目 int n; scanf("%d",&n); ] = {}; while ( ...

  6. shell IFS

    在bash中IFS是内部的域分隔符,manual中对其的叙述如下:IFS The Internal Field Separator that is used for word splitting af ...

  7. ltp执行过程总结

    命令行:./runltp -b DEVICE -f timers -p -l result-log-timers.20180824 -o screen-log-timers.20180824 runl ...

  8. manytomany django 正查, 反查

    models from django.db import models from django.contrib.auth.models import User class GroupSheet(mod ...

  9. 在Vmware中安装CentOS7

    想要安装linux系统,在电脑上先装一个虚拟机,当然装双系统也是可以的.首先准备材料,3步:1.从CentOS的官网上下载CentOS7,DVD ISO版本,大概4G左右.名称:CentOS-7-x8 ...

  10. nginx动静态分离以及配置https(安全组强行切换以及导致的问题解决)

    公司原来的网络采用http/https同时支持的方式,http并不会强制自动跳转到https,最近要求强制切换,导致了一系列问题.趁今天测试完成了,整理如下: 1.要求HTTP自动跳转到HTTPS: ...