Ruby on rails &引用\xC2“;从ASCII-8BIT到UTF-8

Ruby on rails &引用\xC2“;从ASCII-8BIT到UTF-8,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正试图在我的Ubuntu12.04服务器上运行RubyonRails应用程序。我已成功启动Rails服务器,但当我在浏览器中以localhost:3000的身份打开它时,它会显示以下错误: Encoding::UndefinedConversionError in PagesController#index "\xC2" from ASCII-8BIT to UTF-8 Rails.root: /home/tarun/tarun-webapp Application Trace | Fra

我正试图在我的Ubuntu12.04服务器上运行RubyonRails应用程序。我已成功启动Rails服务器,但当我在浏览器中以
localhost:3000
的身份打开它时,它会显示以下错误:

Encoding::UndefinedConversionError in PagesController#index

"\xC2" from ASCII-8BIT to UTF-8
Rails.root: /home/tarun/tarun-webapp

Application Trace | Framework Trace | Full Trace
app/controllers/application_controller.rb:21:in `jammit'
Request

Parameters:

None
Show session dump

Show env dump

Response

Headers:

None
这里是控制器.rb的
页面索引方法

class PagesController < ApplicationController
        layout false

  def index
        @user_session = UserSession.new
        @user = User.new
    if current_user
      redirect_to user_root_url
    end
  end
class PagesController

如何解决此错误?

很可能LANG=C或区域设置未设置

也可以尝试类似的方法,例如
this\u should\u a\u unicode\u string=this\u should\u\u unicode\u string.force\u encoding('UTF-8')


您所说的“ASCII-8BIT”到底是什么意思?ASCII本身是一种7位编码,ASCII有多个8位“扩展名”。当某些
.rb
文件具有类似
ã,ç,…
的特殊字符时,可能会发生此错误。要在Ruby文件中使用特殊字符,请在file@JonSkeetASCII-8BIT是一种红宝石:
编码::ASCII8bit
是一种特殊编码,通常用于字节字符串,而不是字符串。但顾名思义,其ASCII范围内的字符被视为ASCII字符。当您将ASCII-8BIT字符与其他ASCII兼容字符一起使用时,这很有用–来自@matt:听起来它不应该用于转换为UTF-8,那么-ASCII-8BIT中0xC2的值在UTF-8中意味着什么?(基本上这就是为什么我不喜欢某些语言将文本和二进制数据视为可交换的方式。事实并非如此。)能否添加
PostController#index
方法的内容以及完整的堆栈跟踪?