0

環境: Rails 3.2.11 アプリ

アセット/JavaScript で

私はこのファイル home.js.coffee.erb を持っています:

jQuery ($) ->
  $.supersized

    # Functionality
    slide_interval: 3000 # Length between transitions
    transition: 3 # 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left
    transition_speed: 700 # Speed of transition
    thumbnail_navigation: 0

    # Components                            
    slide_links: "blank" # Individual links for each slide (Options: false, 'num', 'name', 'blank')
    slides: [
<% for cs in CreativeService.where('active') %>
      image: "<%= cs.featured_image.url %>"
      title: "<%= cs.art.name %> > <%= cs.title %> by <%= cs.artist.first_name %> <%= cs.artist.last_name[0]  %>"
      thumb: "<%= cs.featured_image.url(:small) %>"
      url: "/creative_services/<%= cs.id %>"
    ,
<% end %>
    ]

これは私の開発環境では正しく評価されますが、HEROKU にデプロイするとこのエラーが発生します

throw Error("Encoding::InvalidByteSequenceError: \"\\xC3\" on US-ASCII\n  (in /app/app/assets/javascripts/home.js.coffee.erb)")

エラーは、データベースからフェッチされた文字が原因のようです å ø (私はノルウェー語で作業しています)

<%= cs.title %> <= エラーを防ぐために、この文字列に対して何ができますか?

私のGemfileで:

group :assets do
  gem 'sass-rails', "~> 3.2.5"

  gem 'uglifier', '>= 1.0.3'
end
gem 'coffee-rails', "~> 3.2.2"     <= outside or inside the group doesn't help

これらを application.rb ファイルに追加しようとしましたが、役に立ちませんでした:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

また、これを js.coffee.erb ファイルの先頭に追加しますが、まだ成功していません:

# encoding: utf-8

最後の発見:

データベースから取得したテキストが原因でエラーが発生すると考えました。

4

1 に答える 1

0

試す

heroku config:set LC_CTYPE=en_US.UTF-8
于 2013-05-08T01:37:16.370 に答える