RVM、Ruby 1.9.2、Rails 2.3.8、Passenger 和“US-ASCII 中的无效字节序列”

2023-12-30

我刚刚开始从 Ruby 1.8.7 到 Ruby 1.9.2 的升级过程(使用 RVM)。我的所有应用程序都使用 1.9.2 的“脚本/服务器”(或“rails 服务器”)运行,但是,只有 Rails 3.0.0 RC 应用程序可以与 Passenger 配合使用。 Rails 2.3.8应用程序给出的错误消息是:

US-ASCII 中的无效字节序列

我猜这是乘客问题。我使用找到的 RVM 指南安装了 Passenger 2.2.15here http://rvm.beginrescueend.com/integration/passenger/。有什么想法如何修复这个错误吗?谢谢。我已更新以包含堆栈跟踪:

/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/template_handlers/erb.rb:14:in `compile'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/template_handler.rb:11:in `call'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/renderable.rb:19:in `compiled_source'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/renderable.rb:68:in `compile!'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/renderable.rb:61:in `compile'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/renderable.rb:28:in `render'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/template.rb:205:in `render_template'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/base.rb:265:in `render'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/base.rb:352:in `_render_with_layout'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_view/base.rb:262:in `render'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/base.rb:1250:in `render_for_file'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/base.rb:942:in `render'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
/Users/kevin/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:135:in `block in custom'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:179:in `call'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:179:in `block in respond'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:173:in `each'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:173:in `respond'
/Users/kevin/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-2.3.8/lib/action_controller/mime_responds.rb:107:in `respond_to'
/Users/kevin/Sites/sample/app/controllers/main_controller.rb:7:in `index'

尝试添加


# encoding: UTF-8  
at the top of your main_controller.rb file. If that works, you're dealing with a non US ASCII character in your source file.

在 Ruby 1.9 中,我们处理三种编码上下文:

  • 源代码编码:默认情况下,源文件中的字符串被解释为 US-ASCII,除非存在我上面列出的神奇注释。
  • 外部编码:假定文本文件中的字符采用与环境相同的编码。然而,我们可以指定要使用的编码。例如:打开(mydata.txt,“r:UTF-8”)。
  • 内部编码:指定从文件读取文本数据后如何编码。默认情况下,这是nil,这意味着它将与用于读取它的编码相同。如果需要不同的东西,可以在 IO.open 中指定。例如: open(mydata.txt, 'r:UTF-8:UTF-16LE')

欲了解更多信息,我会阅读詹姆斯·爱德华·格雷二世的精彩文章 http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings关于编码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RVM、Ruby 1.9.2、Rails 2.3.8、Passenger 和“US-ASCII 中的无效字节序列” 的相关文章

随机推荐

  • 永久修改不属于我的网站的 CSS,并将更改分发到我的网络

    最简单的方法是什么 我很难理解 而且现在没有足够的时间来正确地花和研究 Greasemonkey 只对任何网站应用永久的 css 更改 我认为这更简单 只需添加一个保留在浏览器中的 CSS 即可 但我没有找到任何简单 快速的工具自定义来仅添
  • WPF不同的窗口图标和任务栏图标

    WPF 中的窗口和任务栏是否可以有不同的图标 在我的特殊场景中 我希望窗口有一个透明的图标 任务栏有一个 Metro 样式 带有彩色背景 设置不同的应用程序图标不起作用 任务栏始终显示窗口图标 有人可以提供解决方案吗 由于窗口图标始终为 1
  • File.listFiles 在不应该返回 null 时返回 null

    我正在尝试使用以下命令获取 Phone Pictures 文件夹 内部存储 未插入 SDCard 中现有的文件列表 File file Environment getExternalStoragePublicDirectory Enviro
  • Java EE 5 和 6 工件的正确组和工件 ID 是什么?

    到目前为止 我们一直在手动下载 jar 并使用自定义组 工件 ID 部署到我们的 Maven 存储库 我想避免这种情况 所以我的问题是 什么是正确的组和 Java EE 5 和 6 的工件 ID 文物 我想获取 JSR 级别的名称 例如 我
  • Android @NonNull 的用处

    经过一些阅读和提问后像这个 https stackoverflow com questions 32652402 right way to use the nonnull annotation in android studio我想知道使用
  • 弹簧注入 - 线程安全

    public class Test private First first private Second second public void setFirst First first this first first public Fir
  • 架构师迫切希望使用 SOAP over JMS

    我过去曾使用 JMS 来构建应用程序 效果很好 现在 我与愿意使用规范 基于 Java 消息服务 1 0 的 SOAP 的架构师合作 这个规格接缝过于复杂 我没有看到太多的实现 除了推动规范的供应商之外 这里有人在生产环境中使用这个规范吗
  • 将 Google Cloud SQL 备份上传到 Bigquery

    我在尝试将 Google Cloud SQL 数据库迁移到 BigQuery 时遇到了麻烦 我已将数据库备份从 Cloud SQL 导出到 Cloud Storage 但在尝试将其导入 BigQuery 时 出现错误 未找到 GS 的 UR
  • FTP 上传错误“553 无法创建文件”

    import org apache commons net ftp FTPClient import org apache commons net ftp FTPReply import org apache commons net ftp
  • CI/CD 管道中的 Flutter 命令出现问题

    您好 最近我将我的 Mac mini 从 Mojave 升级到 Catalina 10 15 4 以使用新的 Xcode 在更新之前 我的 CI CD 管道工作得很好 我的 CI CD 管道基于 Azure 我使用我的机器作为构建机器 更新
  • 函数尝试块。一个有趣的例子

    考虑以下 C 程序 struct str int mem str try mem 0 throw 0 catch int main str inst catch 块起作用 即控件到达它 然后程序崩溃 我不明白这有什么问题 一旦控制到达构造函
  • 如何在不使用主题的情况下自定义 Material-UI 下划线的样式?

    我在轮廓自定义样式方面取得了成功variant outlined 我用notchedOutline in InputProps 否则 variant anything else 仅存在底部边框的地方 即使使用 它也不起作用underline
  • 在引用数组中查找单击的元素 (useRef)

    如果我有一个引用值数组 我如何找到单击的项目 我使用了 useRef import useRef useState useEffect from react function App const checkboxes useRef var
  • Android ActionBarSherlock 自定义视图

    我在 ActionBarSherlock 中添加了一个自定义顶部栏 如下所示 getSupportActionBar setDisplayShowCustomEnabled true getSupportActionBar setCusto
  • React Native:径向渐变背景

    是否有一个包或另一种方法可以为其中一个视图提供简单的 例如蓝色到蓝色的径向渐变背景 我试过了反应本机径向梯度 https github com surajitsarkar19 react native radial gradient 但似乎
  • 使用 Pandas-Datareader 导入 Yahoo 时收到“未来警告”

    我目前正在使用 pandas datareader 成功从雅虎导入股票信息 然而 在提取数据之前 我总是收到以下消息 FutureWarning pandas util testing 已弃用 请改用 pandas testing 中公共
  • 对某些按键序列使用反应式扩展?

    我是新人 或者更准确地说 从未使用过 RX 所以我想知道是否可以在这种情况下使用它 我想在我的应用程序中添加一种 Resharper Live Templates 功能 允许用户输入后面的短字符序列通过 Tab 我的应用程序会将之前输入的字
  • 静态旋转字体很棒的图标

    我想将我的字体很棒的图标静态旋转 45 度 它在网站上说 要任意旋转和翻转图标 请使用 fa rotate 和 fa flip 类 然而 做 i class fa fa link fa rotate 45 style font size 6
  • 在 Visual Studio 2010 中使用 Resharper 6 自动完成初始化程序

    我想知道是否有任何方法可以使用 VS 2010 和 Resharper 6 来缩短对象初始化的过程 当出现下面的黄色工具提示时 我希望它为每个字段创建一个分配 例如 它会生成 联系方式 联系人ID 创建日期 等等 等等 每个属性一个 ReS
  • RVM、Ruby 1.9.2、Rails 2.3.8、Passenger 和“US-ASCII 中的无效字节序列”

    我刚刚开始从 Ruby 1 8 7 到 Ruby 1 9 2 的升级过程 使用 RVM 我的所有应用程序都使用 1 9 2 的 脚本 服务器 或 rails 服务器 运行 但是 只有 Rails 3 0 0 RC 应用程序可以与 Passe