碰见错误:
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的。
好了,知晓了。
+
+
==
==
=
相关推荐
"xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence-中文版的window下java的默认的编码为GBK.url":这个文件名暗示了解决XML文件读取异常的方法,尤其是在Windows环境下,Java默认的文件编码可能是GBK,这可能...
在Unicode标准中,每个字符可以使用多个字节来表示,例如UTF-8编码标准。 为什么会出现Invalid Multibyte Character Sequence 警告? 当我们在编程中使用非ASCII字符时,例如中文字符,如果编译器不支持多字节字符...
当你在编程过程中遇到具体问题时,可以查阅此手册找到对应的解决办法。 Ruby语言的特点包括: - **动态性**:Ruby支持动态类型,变量的类型在运行时确定,使得代码更具灵活性。 - **面向对象**:Ruby的万物皆对象...
4. **转换字符编码**:尽管在这个特定案例中,问题不是由于编码转换引起,但如果在其他情况下遇到编码问题,可以尝试将数据从一种编码(如GBK)转换为另一种编码(如UTF-8),以确保与PostgreSQL的编码兼容。...
$fileType = mb_detect_encoding($data, array('UTF-8', 'GBK', 'LATIN1', 'BIG5')); ``` 上述代码尝试检测`$data`字符串的编码,数组中列出了可能的编码类型。如果检测到的编码不是UTF-8,我们就需要进行转换。`mb...
用于在CESU-8和UTF-8之间转换的库。 用法 来自(BMP)的Unicode代码点,即U + 0000到U + FFFF范围内的代码点以与UTF-8相同的方式进行编码。 如果cesu8::encode()或cesu8::decode()仅遇到同时是有效CESU-8和UTF-8...
For example, you could use the following code snippet to count UTF-8 characters in a string you knew to be conforming (it will incorrectly count some invalid characters): local _, count = string....
它能够自动化地扫描Struts2应用,识别可能存在的安全弱点,帮助开发者或安全团队及时发现并修复这些问题。该工具可能会通过模拟多种攻击向量,如OGNL注入,来检查应用的易感性。 在使用"struts2-scan.py"这个Python...
聊天记录开膛手在 WDI 中,我们共享一切。... 如果您收到错误“in `scan': invalid byte sequence in UTF-8 (ArgumentError)”,只需将您的文本日志解析为可以转换为 UTF-8 的内容(例如 )。 我将来会解决这个问题。
(81条消息) GEE(Google Earth Engine) ee_List_sequence、ee_image_toArray(axis)和协方差矩ee_Reducer_centeredCovariance()_此星光明的博客-CSDN博客.mht
Changes in 2.4.6 (February 22, 2011): Brief summary : - Support more host OS to run on: - Include win64 native binary in the release. - Fixed failures on big endian hosts. - BIOS: Support for up to...
<?xml version="1.0" encoding="utf-8"?> ``` 如果这一行存在格式问题,如额外的字符、缺失的引号或错误的编码,都可能导致解析错误。有时,即使XML语法没有其他明显错误,这行也可能导致问题。如果删除这行可以...
该回调函数使用iconv函数将UCS-2编码的字符转换为UTF-8编码。UCS-2编码是一种字符编码标准,它可以表示Unicode字符,而iconv函数是PHP中用于字符编码转换的函数。 正则表达式中的"#\\\u([0-9a-f]{4})#i"用于匹配形...
- ADD: Delphi/CBuilder XE8 now supported. - ADD: Delphi/CBuilder XE7 now supported. - ADD: Delphi/CBuilder XE6 now supported. - ADD: Delphi/CBuilder XE5 now supported. - ADD: Delphi/CBuilder XE4 now ...
8. **Sorting a String** - **Objective:** Sort the characters of a given string alphabetically. - **Key Concepts:** - Converting strings to lists. - Using the `sorted()` function. - Joining sorted...
Doctest:测试交互式Haskell示例doctest是一个小程序,用于检查。 它与相似,。安装可以从获得doctest 。 通过键入以下内容进行安装: cabal install doctest确保Cabal的bindir在您的PATH 。 在Linux上: export ...
Added #pragma pack(8/4) to acobject.h to ensure that the structures in this header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been manually optimized to be aligned and will not work ...