我正在尝试运行在此处找到的 ruby 脚本
但我得到了错误
invalid multibyte char (US-ASCII)
对于第 12 行,这是
http = Net::HTTP.new("twitter.com", Net::HTTP.https_default_port())
有人可以向我解释这意味着什么以及如何解决它,谢谢
我正在尝试运行在此处找到的 ruby 脚本
但我得到了错误
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.0UTF-8
无论如何都将其用作默认值。
这意味着使用了多字节字符并且 Ruby 没有设置为处理它。如果您使用的是旧版本的 Ruby,请在文件开头添加以下魔术注释:
# coding: utf-8
如果您使用现代版本的 Ruby,那么这个问题一开始就不会出现。