2010-10-30 30 views
0


J'ai chargé une chaîne à partir d'un html.file, et je l'ont écrit dans un fichier YAML avec le plugin ya2yaml:Comment gsub un unicode 0083 avec ruby?


- title: 'What a wonderful day!' 
    body: ... # main contents here 

et je charger le fichier .yml par YAML :: méthode parse_file. Mais "\ n" dans la chaîne va causer des problèmes de chargement, alors j'ai essayé de gsub tout "\ n" à "", mais il y a encore des problèmes, un caractère '0083' (je le vois dans le terminal) casse toujours la ligne, et la cause problème de chargement:


in `load': syntax error on line 32, col 6: `  </strong><br>ok ' (ArgumentError) 
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:178:in `parse' 
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:203:in `block in parse_file' 
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:202:in `open' 

Alors quel est le problème avec le YAML ou le charbon 0083?
ou comment puis-je éviter ce problème?

+1

Essayez ceci: '# codage utf-8 ............... gsub (" \ u0083 "," ")' – Nakilon

Répondre

0

0083 est un caractère Unicode 'NO BREAK HERE'. Je ne connais pas YAML :: pars, mais peut-être que vous pouvez le changer pour utiliser des Unicodes ou utiliser des codes ascii purs.

+0

Merci vurte, comment l'utiliser pour utiliser unicodes ? – Croplio