2010-11-11 11 views
3
CGI::unescapeHTML("渣打银") 

=> "渣打 \ 351 \ 223 \ 266"problème avec CGI :: unescapeHTML

CGI::unescapeHTML("渣打银 ") 

=> "渣打 银"

Ajout d'un espace à la fin fait la différence, Sinon, le dernier personnage est perdu et je reçois cette étrange séquence de caractères. Je suis confronté à ce problème lorsque j'essaie d'extraire des sites web de données en utilisant l'encodage de caractères utf-8. Ceci est vrai même pour un texte anglais normal.

+1

Sur ma machine (ruby 1.9.2, sans rails) votre première ligne (sans l'espace) fonctionne bien. – steenslag

+0

oh .. ma version de rubis est: ruby ​​1.8.7 (2010-01-10 patchlevel 249) [i486-linux]. Peut-être que je dois mettre à niveau. Lemme essayer ça. –

+0

Sur ma machine (ruby-1.8.7-p334) ça ne marche pas du tout sans rails. Néanmoins, votre première ligne fonctionne parfaitement avec ruby-1.8.7-p334 et rails 3.0.5. –

Répondre

0

Exécutez votre interpréteur Ruby avec ku

1

Ce n'est pas un problème avec la bibliothèque CGI qui vient avec Ruby 1.9.2 et plus.