que estoy tratando de crear una joya que envuelve d3.js, Fuente se pueden encontrar en https://github.com/iblue/d3-railsactivos problemas tubería de codificación UTF-8 (vs. ASCII-8BIT) con la gema externo
Así que cuando incluyo esta joya en mi Gemfile
gem "d3-rails", :git => "git://github.com/iblue/d3-rails.git"
y cuando incluyo el código JavaScript en mis application.js:
//=require d3
Entonces mi compilación activo falla y mis application.js compilados solo contiene
throw Error("Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT")
Estoy usando Rails 3.1.3 y ruby-1.9.3-p125. jQuery usa exactamente la misma estructura de gema y funciona. ¿Qué estoy haciendo mal?
EDITAR:
También vi esta pregunta: Ruby 1.9 throwing javascript encoding error. Esto no se aplica aquí, mi archivo es UTF-8 válidos:
ruby-1.9.3-p125 :001 > d = File.read("./d3.js")
=> [...]
ruby-1.9.3-p125 :002 > d.encoding
=> #<Encoding:UTF-8>
ruby-1.9.3-p125 :003 > d.valid_encoding?
=> true
EDIT 2:
También traté de insertar algún vudú en mi config/environment.rb
. No funciona:
# -*- encoding : utf-8 -*-
# Load the rails application
require File.expand_path('../application', __FILE__)
# --------- VOODOO BEGINS HERE -----------------
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
# --------- END VOODO --------------------------
# Initialize the rails application
Ratecode::Application.initialize!
¿Alguna vez intentó verificar la presencia de http://en.wikipedia.org/wiki/Byte_order_mark? Pruebe también la bisección: elimine partes del archivo para ver si las cosas comenzarían a funcionar. – kirilloid
¿Se puede verificar también la codificación de la aplicación.js? El error dice que los dos archivos son incompatibles, debe verificar no solo que el archivo d3 sea UTF-8, sino también que su application.js sea. – mixonic