2011-09-30 16 views
14

में डिफ़ॉल्ट स्ट्रिंग एन्कोडिंग के रूप में यूटीएफ -8 सेट करें, मुझे हेरोकू में यूटीएफ -8 में डिफ़ॉल्ट रूबी स्ट्रिंग एन्कोडिंग को बदलने की आवश्यकता है। किसी कारण से यह यूएस-एएससीआईआईआई है।हेरोकू

 
$ irb 
ruby-1.9.2-p136 :001 > "a".encoding 
=> #<Encoding:UTF-8> 

रूबी 1.9.2 पर दोनों रन:

 
$ heroku console 
Ruby console for myapp.heroku.com 
>> "a".encoding 
=> #<Encoding:ASCII-8BIT> 

हालांकि, अगर मैं आईआरबी स्थानीय रूप से चलाने मैं एक अलग परिणाम मिलता है। मैंने इसे भी सेट करने का प्रयास किया है, लेकिन काम नहीं किया:

 
Encoding.default_internal = Encoding.default_external = "UTF-8" 

विचार?

 
heroku config:add LANG=en_US.UTF-8 

heroku console हालांकि ASCII-8BIT के रूप में रिपोर्टिंग तार एन्कोडिंग रखेंगे, अपने actuall अनुप्रयोग के साथ चल दिया जाएगा:

धन्यवाद, फेलिप

उत्तर

31

Heroku सहयोगी स्टाफ के अनुसार, इस जादू बात है LANG कॉन्फ़िगर var पर आधारित सही एन्कोडिंग। आप यह कर कर दोबारा जांच कर सकते हैं:

 
$ heroku run bash 
Running bash attached to terminal... up, run.2 
[email protected]:/app$ irb 
irb(main):001:0> "a".encoding 
=> #<Encoding:UTF-8> 
+0

इसे पोस्ट करने के लिए धन्यवाद। इस तक कहीं भी बिना एन्कोडिंग सामान की कोशिश कर रहे हैं। – theschmitzer

+0

यह समाधान हेरोकू पर चल रहे Grails ऐप्स के लिए भी काम करता है। –

+1

धन्यवाद, मैं अंत में अच्छी तरह से सो सकता हूँ! – Gavin