Ruby 错误无效的多字节字符 (US-ASCII)

标签 ruby compiler-errors

我正在尝试运行找到的 ruby​​ 脚本 here

但是我得到了错误

invalid multibyte char (US-ASCII)

第12行是

http = Net::HTTP.new("twitter.com", Net::HTTP.https_default_port())

谁能给我解释一下这是什么意思,我该如何解决,谢谢

最佳答案

当您使用 Ruby 1.9 运行脚本时,将脚本的前两行更改为:

#!/usr/bin/env ruby
# encoding: utf-8
require 'net/http'

这会告诉 Ruby 在支持 UTF-8 字符集的情况下运行脚本。如果没有这一行,Ruby 1.9 将默认使用 US_ASCII 字符集。

仅作记录:这在 Ruby 1.8 中不起作用,因为 1.8 对字符串编码一无所知。在 Ruby 2.0 中不再需要该行,因为 Ruby 2.0 无论如何都使用 UTF-8 作为默认值。

关于Ruby 错误无效的多字节字符 (US-ASCII),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910181/

相关文章:

ruby-on-rails - 如何按列对 Rails ActiveRecord 结果进行分组?

jquery - 从 Controller 启动模态

ruby - 读取 zip 存档中的文件,无需解压缩存档

java - 代码不断抛出NP,找不到原因

visual-c++ - 升级项目:operator '=' is ambiguous and 'ios' : is not a class or namespace name时发现错误

ruby-on-rails - Rack 和 rack.request.form_vars/rack.request.form_hash

ruby-on-rails - 为特定页面呈现特定标题

c++ - 不能在标准 vector 中插入自己的结构,但字符串可以

syntax - 为什么我不能用新行的每个分隔符和字段更新记录?

php - 解析错误: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE