मैं, रूबी 1.9.2 का उपयोग कर रहा 3.0.4/3.0.5 रेल और Phusion यात्री 3.0.3/3.0.4। मेरे टेम्पलेट HAML में लिखे गए हैं और मैं MySQL2 मणि का उपयोग कर रहा हूं।ActionView :: खाका :: त्रुटि (असंगत वर्ण एन्कोडिंग: UTF-8 और ASCII-8 बिट)
ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT)
मेरी Haml टेम्पलेट की पहली पंक्ति है, जो निम्नलिखित कोड है करने के लिए त्रुटि अंक: मैं एक नियंत्रक कार्रवाई है कि जब एक पैरामीटर विशेष वर्ण है, उमलाउट की तरह पारित कर दिया, मुझे निम्न त्रुटि देता है इस पर:
<!DOCTYPE html>
मेरे समझ है कि इस क्योंकि मैं एक UTF-8 स्ट्रिंग है कि एक ASCII-8bit तार के साथ concatenated किया जा रहा है के कारण होता है, लेकिन मैं के लिए मुझे के जीवन क्या है कि को समझ नहीं सकता ASCII-8BIT स्ट्रिंग है। Haml टेम्पलेट के शीर्ष और गहरे लाल रंग का फ़ाइलों को UTF-8 घोषणा और मैं अभी भी इस त्रुटि मिलती है: मैं जाँच की है कि कार्रवाई में परम UTF-8 का उपयोग कर इनकोड और मैं एक एन्कोडिंग जोड़ लिया है। मेरे application.rb फ़ाइल के रूप में अच्छी तरह से उस में एक config.encoding = "UTF-8"
घोषणा की है और UTF-8 में सभी परिणाम निम्नलिखित:
ENV['LANG']
__ENCODING__
Encoding.default_internal
Encoding.default_external
यहाँ किकर है: मैं स्टैंडअलोन यात्री या संकर जाति का प्रयोग पर मेरी मैक OSX स्थानीय स्तर पर इस परिणाम पुन: पेश नहीं कर सकते या तो विकास या उत्पादन में। मैं इसे केवल लिनक्स पर nginx + यात्री चलाने वाले उत्पादन सर्वर पर पुन: पेश कर सकता हूं। मैंने उत्पादन सर्वर के कंसोल में सत्यापित किया है कि उत्तरार्द्ध ने यूटीएफ -8 में सभी परिणामों का भी उल्लेख किया है।
आप इस त्रुटि का अनुभव किया है और आप इसे कैसे हल किया?
एक ही त्रुटि के बाद, मैं सोच रहा हूँ क्यों उत्पादन Nginx/यात्री पर हो रहा है। इसमें एलसी_एएल ठीक से सेट है।हालांकि अनुरोध .env ASCII है। स्थानीय सर्वर पर इसके utf-8k –
ने यात्री https://github.com/phusion/passenger/issues/1328 पर कोई समस्या जोड़ा –