`
fantaxy025025
  • 浏览: 1328013 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

invalid byte sequence in GBK”问题 invalid byte sequence in UTF-8”问题

 
阅读更多

 

碰见错误:

 

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的。

好了,知晓了。

 

+

+
==

==

=

 

分享到:
评论

相关推荐

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

    "xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence-中文版的window下java的默认的编码为GBK.url":这个文件名暗示了解决XML文件读取异常的方法,尤其是在Windows环境下,Java默认的文件编码可能是GBK,这可能...

    invalid multibyte character sequence 870告警1

    在Unicode标准中,每个字符可以使用多个字节来表示,例如UTF-8编码标准。 为什么会出现Invalid Multibyte Character Sequence 警告? 当我们在编程中使用非ASCII字符时,例如中文字符,如果编译器不支持多字节字符...

    ruby中文文档(ruby入门级别教程)

    当你在编程过程中遇到具体问题时,可以查阅此手册找到对应的解决办法。 Ruby语言的特点包括: - **动态性**:Ruby支持动态类型,变量的类型在运行时确定,使得代码更具灵活性。 - **面向对象**:Ruby的万物皆对象...

    SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

    4. **转换字符编码**:尽管在这个特定案例中,问题不是由于编码转换引起,但如果在其他情况下遇到编码问题,可以尝试将数据从一种编码(如GBK)转换为另一种编码(如UTF-8),以确保与PostgreSQL的编码兼容。...

    php自动识别文件编码并转换为UTF-8的方法

    $fileType = mb_detect_encoding($data, array('UTF-8', 'GBK', 'LATIN1', 'BIG5')); ``` 上述代码尝试检测`$data`字符串的编码,数组中列出了可能的编码类型。如果检测到的编码不是UTF-8,我们就需要进行转换。`mb...

    cesu8:用于在CESU-8和UTF-8之间转换的库

    用于在CESU-8和UTF-8之间转换的库。 用法 来自(BMP)的Unicode代码点,即U + 0000到U + FFFF范围内的代码点以与UTF-8相同的方式进行编码。 如果cesu8::encode()或cesu8::decode()仅遇到同时是有效CESU-8和UTF-8...

    LuaUnicode icu-lua

    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-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    它能够自动化地扫描Struts2应用,识别可能存在的安全弱点,帮助开发者或安全团队及时发现并修复这些问题。该工具可能会通过模拟多种攻击向量,如OGNL注入,来检查应用的易感性。 在使用"struts2-scan.py"这个Python...

    Chatlog_Ripper:一个帮助你从聊天记录文件中提取 URL 的小程序

    聊天记录开膛手在 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

    (81条消息) GEE(Google Earth Engine) ee_List_sequence、ee_image_toArray(axis)和协方差矩ee_Reducer_centeredCovariance()_此星光明的博客-CSDN博客.mht

    Bochs - The cross platform IA-32 (x86) emulator

    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...

    android layout XML解析错误的解决方法

    &lt;?xml version="1.0" encoding="utf-8"?&gt; ``` 如果这一行存在格式问题,如额外的字符、缺失的引号或错误的编码,都可能导致解析错误。有时,即使XML语法没有其他明显错误,这行也可能导致问题。如果删除这行可以...

    php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案

    该回调函数使用iconv函数将UCS-2编码的字符转换为UTF-8编码。UCS-2编码是一种字符编码标准,它可以表示Unicode字符,而iconv函数是PHP中用于字符编码转换的函数。 正则表达式中的"#\\\u([0-9a-f]{4})#i"用于匹配形...

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    - 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 ...

    Lerner -- Python Workout. 50 Essential Exercises -- 2020.pdf

    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的python doctest的实现

    Doctest:测试交互式Haskell示例doctest是一个小程序,用于检查。 它与相似,。安装可以从获得doctest 。 通过键入以下内容进行安装: cabal install doctest确保Cabal的bindir在您的PATH 。 在Linux上: export ...

    acpi控制笔记本风扇转速

    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 ...

Global site tag (gtag.js) - Google Analytics