2012-08-26 8 views
0

J'ai un problème d'encodage bizarre ou je le fais de manière simple dans le mauvais sens. Peut-être que quelqu'un a une idée de ce qui se passe. Info: Je suis nouveau à ruby ​​sur rails!ruby ​​sur rails - heroku postgres - encodage

J'ai un tableau de noms de paysage et ils ont des caractères spéciaux comme 'äüöéèà ...'. Dans mon formulaire, je veux que l'utilisateur choisisse plusieurs éléments de ces paysages. Alors j'ai commencé avec un select_tag avec tous les noms de paysage:

<%= select_tag 'model[landscapes][]', options_for_select(AVAILABLE_LANDSCAPES, @landscapes_selected), { :multiple => true, :size =>5, :id => "model_landscapes" } %> 

Dans mon modèle, je sauverai ces noms dans la base de données et tout fonctionne très bien. J'ai déjà une grande base de données avec ces caractères spéciaux dans la chaîne de paysage. Les entrées de paysage existantes sont données comme 'ländscape1, lândscape2, blalilü'. Je n'ai aucun problème avec la sauvegarde ou l'obtention de données de la base de données. Sur ma machine locale avec une base de données mysql cela fonctionne bien! Mais quand je lance mon application sur heroku, j'ai un problème d'encodage. Quand je sauve une chaîne avec un caractère tel que ',' il l'enregistre avec '\ xC3 \ xA2'.

+0

N'a jamais utilisé d'heroku. Mais quels sont les encodages de votre serveur et du client de postgres? Vous pouvez exécuter ces commandes "show server_encoding; show client_encoding;" – user673207

+1

Une autre chose à vérifier: assurez-vous d'avoir cette ligne '# encoding: utf-8' en haut de chaque fichier qui a des caractères spéciaux codés en dur. – user673207

+0

Où puis-je exécuter ces commandes comme 'show server_encoding'? –

Répondre

1

Je ne sais pas pourquoi ce problème n'apparaît que lorsque j'utilise mon application sur heroku!

Mais, cela fonctionne pour moi:

Mon erreur a été que je sauvé les paysages choisis comme une chaîne dans ma db! Enregistre et charge mes paysages sous forme de tableau, puis je n'ai aucun problème d'encodage !!!

Questions connexes