6 votes

Ruby 1.9 et problèmes d'encodage de Sass. (de ASCII-8BIT à UTF-8)

J'ai récemment effectué une mise à jour vers Ruby 1.9 et je ne peux plus rien compiler avec Sass.

J'ai vu des solutions qui disent que si je place

 @charset "utf-8";

en haut de mon fichier .sccs, cela va le réparer. Cependant, j'obtiens toujours une erreur. Voici la trace complète

J'ai également essayé de supprimer tous les caractères non ascii de mon fichier CSS, d'en créer un nouveau, etc. Mais il ne compile pas. Des conseils ?

Traceback :

Sass est à l'affût des changements. Appuyez sur Ctrl-C pour arrêter.

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in `encode' : transcodage non supporté (de ASCII-8BIT à UTF-8) (ArgumentError)

de /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in _enc' from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:515:in sauvetage en bloc (1 niveaux) en '

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:508:in `block (1 levels) in '

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in `yield'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in `default'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in `block in check_sass_encoding'

à partir de /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in `each'

à partir de /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in `find'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in `check_sass_encoding'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:349:in `check_encoding!'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:316:in `_to_tree'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:291:in `_render'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:238:in `render'

à partir de /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:319:in `update_stylesheet' (en anglais)

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:169:in `block in update_stylesheets' (bloc dans update_stylesheets)

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:167:in `each'

à partir de /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:167:in `update_stylesheets' (en anglais)

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:214:in `watch'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin.rb:111:in `method_missing'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:408:in `watch_or_update'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:294:in `process_result'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:41:in `parse'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:21:in `parse!'

à partir de /home/webdev/.gem/repository/gems/sass-3.1.1/bin/sass:8:in `''.

à partir de /home/webdev/.gem/repository/bin/sass:19:in `load'

à partir de /home/webdev/.gem/repository/bin/sass:19:dans `''.

11voto

Alireza Fattahi Points 1318

Pour compléter Réponse de @nex3 vous pouvez

Ouvrez le config.rb et ajouter :

Encoding.default_external = "UTF-8"

2voto

nex3 Points 4309

Il semble que votre environnement Ruby soit configuré pour charger le code source de Sass en tant que ASCII-8BIT aussi connu sous le nom de BINARY . Cela est probablement dû au fait que vous passez soit l'option -Kn au processus Ruby, ou en mettant Encoding.default_external a Encoding::BINARY quelque part dans votre code avant que Sass ne soit chargé. Annulez cette opération et Sass devrait fonctionner.

2voto

Bartek Points 7491

Je ne connais pas exactement le cœur du problème, mais il semble qu'il y ait eu quelques problèmes avec Ruby 1.9.0 (la version disponible sur apt pour cette boîte Ubuntu) et l'encodage.

Pour résoudre ce problème, j'ai utilisé https://rvm.io qui est une aide pour télécharger et compiler Ruby depuis Git, me donnant la dernière version. Après avoir exécuté ceci, sass compile bien et tout va bien.

0voto

ganar Points 1

Cela m'est arrivé et la solution n'était pas apparente : Elena Pogorelova de Jet Brains a expliqué dans ce post que les caractères non-ASCII dans la route de vos fichiers peuvent casser SASS comme dans mon cas.

users/xxxx/projects/chilediseño/cms/scss (ñ)

J'ai juste dû éliminer le (ñ) dans le nom ci-dessus et tout a fonctionné.

-1voto

ravinggenius Points 284

C'est probablement évident, mais êtes-vous sûr que votre fichier Sass est encodé en UTF-8 ? Tout éditeur de texte décent vous permettra de convertir les encodages.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X