रेल: यूएस-एएससीआईआई (तर्क त्रुटि) में अमान्य बाइट अनुक्रम जब मैं रेक डीबी: बीज चलाता हूं


87

जब मैं rake db:seedअपने Railsऐप में चलता हूं , तो मुझे यह त्रुटि मिल रही है:

US-ASCII में अमान्य बाइट अनुक्रम (तर्क त्रुटि)

मैंने अभी science_majorsअपनी सीड फ़ाइल में जोड़ा और डाउन किया, और अब जब मैंने rake db:seedइसे चलाया तो मुझे यह त्रुटि मिली :

अमान्य बाइट अनुक्रम त्रुटि

ऐसा क्यों है और मैं इसे कैसे ठीक कर सकता हुं?

सीड्रेस्ब का हिस्सा

@college = College.find_or_create_by_name!('University of Pittsburgh')
if @college.update_attributes(
  url: 'university-of-pittsburgh',
  public: 'Public',
  years: '4-year',
  category: 'National University',
  calendar: 'Semester',
  location: 'Pittsburgh, PA',
  setting: 'Large City (250-500k)',
  retention: '90',
  majors: 'business/marketing: 15%|social sciences: 14%|health professions: 11%|english: 10%|engineering: 9%|psychology: 8%|biology: 7%|history: 5%',
  scholarships_link: 'http://www.oafa.pitt.edu/universityschlrs.aspx',
  map: '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=university+of+pittsburgh&amp;aq=&amp;sll=40.444261,-79.970448&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=university+of+pittsburgh&amp;t=m&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=university+of+pittsburgh&amp;aq=&amp;sll=40.431368,-79.9805&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=university+of+pittsburgh&amp;t=m&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038" style="color:#0000FF;text-align:left">View Larger Map</a></small>',
  street_view: '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;aq=0&amp;oq=uni&amp;sll=40.444261,-79.970448&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;t=m&amp;layer=c&amp;cbll=40.441775,-79.956671&amp;panoid=BgWQKMiSI1fpwP7JUF16Vg&amp;cbp=12,45.25,,0,-3.34&amp;output=svembed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;aq=0&amp;oq=uni&amp;sll=40.431368,-79.9805&amp;sspn=0.142165,0.251656&amp;ie=UTF8&amp;hq=University+of+Pittsburgh,+4200+Fifth+Ave,+Pittsburgh,+PA&amp;ll=40.443486,-79.958245&amp;spn=0.010798,0.021038&amp;t=m&amp;layer=c&amp;cbll=40.441775,-79.956671&amp;panoid=BgWQKMiSI1fpwP7JUF16Vg&amp;cbp=12,45.25,,0,-3.34" style="color:#0000FF;text-align:left">View Larger Map</a></small>',
  housing: '<iframe src="http://www.tour.pitt.edu/tour-categories/residence-halls" scrolling="no" height="820" width="900"></iframe>',
  food: '<div style="overflow: hidden; max-width: 1000px;"><iframe scrolling="no" src="http://www.pc.pitt.edu/dining/menus.php" style="margin-left: 0; height: 2000px; margin-top: -370px; margin-bottom: -375px; width: 750px;"></iframe></div>',
  weather: '<div style="overflow: hidden; max-width: 500px;"><iframe scrolling="no" src="http://www.weather.com/weather/wxclimatology/monthly/graph/USPA1290" style="margin-left: -40px; height: 1570px; margin-top: -490px; width: 500px;"></iframe></div>',
  dorms: 'Towers (fr.)|Sutherland (fr.)|Lothrop (fr.)|Nordenberg (fr.)|Holland (fr.)|Forbes (fr.; honors)|McCormick|Brackenridge|Amos|Bruce|Panther|Pennsylvania|Ruskin|Bouquet Gardens|Oakwood Apartments|Centre-Plaza Apartments|Forbes-Craig Apartments (honors)',
  science_majors: 'Actuarial Mathematics|Applied Mathematics|Bioinformatics|Biological Sciences|Chemistry*|Computer Science|Ecology and Evolution|Environmental Geology|Environmental Studies|Geology|History and Philosophy of Science|Linguistics*|Mathematics*|Mathematics-Economics|Mathematics-Philosophy|Microbiology|Molecular Biology|Natural Sciences Area|Neuroscience*|Physics*|Physics and Astronomy|Scientific Computing|Statistics',
  social_science_majors: 'Economics*|Economics–Statistics|History*|Political Science*|Politics-Philosophy|Psychology|Sociology*|Urban Studies',
  humanities_majors: 'Africana Studies*|Africana Studies–English|Anthropology|Chinese*|Classics*|English Literature*|English Writing|Film Studies*|French*|German|History of Art & Architecture|Humanities Area|Italian*|Italian Studies|Japanese*|Liberal Studies|Music*|Philosophy*|Religious Studies*|Russian|Slavic Studies|Spanish|Studio Arts*|Theatre Arts*',
  business_majors: 'Accounting|Finance|General Management|Global Management|Marketing',
  engineering_majors: 'Bioengineering*|Chemical Engineering*|Civil Engineering*|Computer Engineering|Electrical Engineering*|Engineering Physics|Industrial Engineering*|Materials Science and Engineering*|Mechanical Engineering*',
  professional_majors: 'Administration of Justice*|Applied Developmental Psychology|Architectural Studies|Athletic Training|Clinical Dietetics and Nutrition|Communication: Rhet & Comm|Communication Science|Dental Hygiene|Emergency Medicine|Health Information Management|Health Services|Health and Physical Activity|Information Science|Legal Studies*|Media and Professional Communications|Nursing|Pharmacy|Public Service*|Rehabilitation Science|Social Work*'
)
else
  # handle validation errors
end

@college= College.find_or_create_by_name!('Harvard')
if @college.update_attributes(
  url: 'harvard',
  public: 'Private',
  years: '4-year',
  category: 'National University',
  calendar: 'Semester',
  location: 'Cambridge, MA',
  setting: 'Small City (50-250k)',
  degrees: 'Bachelors, Masters, Doctoral',
  rotc: 'Air Force, Army, Navy',
  considered: 'Academic GPA|Alumni Relation|Application Essay|Character/Personal Qualities|Extracurricular Activities|First Generation College Student|Geographical Residence|Interview|Racial/Ethnic Status|Recommendations|Rigor of secondary school record|Standardized Test Scores|Talent/Ability|Volunteer Work|Work Experience',
  student_faculty: '7 to 1')
else
  # handle validation errors
end

मैंने बाकी सभी कॉलेजों को छोड़ दिया। मेरे पास अब तक 200 स्कूल हैं, लेकिन पिट एकमात्र ऐसा है जिसमें अब तक के व्यापक आंकड़े हैं। बाकी के पास हार्वर्ड की तरह बुनियादी डेटा है। मैंने पिट के लिए कुछ डेटा संक्षिप्तता के लिए छोड़ दिया है, लेकिन मुझे बताएं कि क्या आप मुझे बाकी को शामिल करना चाहते हैं।

संपादित करें: मैं बाहर ले करने की कोशिश की *में की science_majorsनीचे पर और फिर से चल रहा है rake db:seed, लेकिन वह नहीं था परिवर्तन कुछ भी।

जवाबों:


181

आप एक एन्कोडिंग त्रुटि प्राप्त कर रहे हैं क्योंकि आपका फ़ाइल सिस्टम आपके द्वारा जोड़ी गई तिथि को एन्कोड करने के लिए कॉन्फ़िगर नहीं किया गया है (क्योंकि संभवतः इसमें नए वर्ण शामिल हैं - संभवतः आपके HTML इकाई एन्कोडेड मैप URL में - जो आपके पूर्व डेटा बीज में मौजूद नहीं था) ।

निम्नलिखित को अपनी मशीन पर UTF-8 लोकेल सेट करके इस त्रुटि को हल करना चाहिए:

# from your command line
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
bundle

सिस्टम लोकल सेट करने का लाभ यह है कि UTF-8 एन्कोडिंग का उपयोग करके सभी रत्नों को आगे बढ़ाया जाएगा।

संपादित करें:

वैकल्पिक रूप से, यदि आप अपने सिस्टम एन्कोडिंग को बदलना नहीं चाहते हैं, तो आप अपने एन्कोडिंग मानक को अपने सिस्टम में एन्कोडिंग मानक निर्दिष्ट करके सेट कर सकते हैं:

if RUBY_VERSION =~ /1.9/ # assuming you're running Ruby ~1.9
  Encoding.default_external = Encoding::UTF_8
  Encoding.default_internal = Encoding::UTF_8
end

1
खुशी है कि यह मदद की। यदि आप यह तरीका अपनाते हैं, तो सुनिश्चित करें कि आपने अपने प्रोजेक्ट को परिनियोजित करने के लिए अपने वातावरण को UTF-8 पर सेट किया है। अन्यथा, आपको #encoding utf-8यह सुनिश्चित करने के लिए अपनी फ़ाइल के शीर्ष पर जोड़ने की आवश्यकता होगी कि यह ठीक से एन्कोडेड है, जैसा कि अन्य पोस्टर ने सूक्ष्म रूप से नोट किया है।
zeantsoi

मैं वास्तव में सिर्फ #encoding utf-8 को हटाने और आपने जो कहा, उसे करने की कोशिश की, लेकिन यह काम नहीं किया। ~/collegeanswers >> export LANG=en_US.UTF-8 ~/collegeanswers >> export LC_ALL="en_US.UTF-8" ~/collegeanswers >> bundle Using rake (10.0.4) . . Using i18n (0.6.1) Your bundle is complete! Use बंडल शो [gemname] `यह देखने के लिए कि बंडल किया गया रत्न कहाँ स्थापित है। ~ / collegeanswers >> रेक डीबी: बीज रेक गर्भपात! `क्या आप जानते हैं क्यों?
एडम ज़ेरनर

आपकी क्या rakeत्रुटि है? आपके मौजूदा रत्नों को अभी तक आपके फाइलसिस्टम एन्कोडिंग के साथ काम करने के लिए कॉन्फ़िगर नहीं किया गया है। कोशिश bbundle exec gem uninstall i18nतो करो bundle install
zeantsoi

मेरी रेक त्रुटि थी invalid byte sequence in US-ASCII (ArgumentError) । मैंने बस कोशिश की कि आपने क्या कहा और वही त्रुटि हुई।
एडम ज़ेरनर

क्या आपने अपना वेबसर्वर पुनः आरंभ किया? जो आप हासिल करने की कोशिश कर रहे हैं, उसे पूरा करने के लिए अधिक विकल्प प्रदान करने के लिए मेरे जवाब को अपडेट किया।
zeantsoi

64

जोड़ना

#encoding: utf-8

फ़ाइल के शीर्ष पर


मुझे अब ऐसा करने की आवश्यकता क्यों है, लेकिन इससे पहले कि मुझे ऐसा न करना पड़े?
एडम जेरनर

मैं बस यह कोशिश की और यह btw काम किया, इसलिए धन्यवाद! लेकिन मैं अभी भी जानना चाहता हूं कि सब कुछ पहले क्यों काम कर रहा था, और अब मुझे इसे काम करने के लिए जोड़ना होगा।
एडम जेरनर

1
हो सकता है कि आपने अपनी फ़ाइल में कुछ विशेष utf-8 संकेत जोड़े हों .. :)
BvuRVKyUVlViVIc7

मैं सिर्फ दूसरे आदमी के उत्तर के अपडेट के माध्यम से पढ़ता हूं और यह वास्तव में अधिक व्यापक है, इसलिए मैं मानने वाला हूं कि स्वीकृत उत्तर के रूप में, लेकिन मैं अभी भी आपकी मदद की सराहना करता हूं!
एडम ज़र्नर

39

आप export RUBYOPT="-KU -E utf-8:utf-8" इस GH थ्रेड में बताए अनुसार भी आज़मा सकते हैं


धन्यवाद! यही एकमात्र चीज है जिसने मदद कीshotgun-0.9.1/bin/shotgun:94:in `[]': invalid byte sequence in US-ASCII (ArgumentError)
स्लाव वी

18

यदि आपको रूबी डॉकटर कंटेनर में यह समस्या हो रही है तो आप सेट कर सकते हैं LANG=C.UTF-8:

docker run -it --rm -e LANG=C.UTF-8 ruby ...

या इस मुद्दे को देखो


या जैसा कि इस उत्तर में लिंक में देखा गया है, यदि आपकी खुद की डॉकटर छवि बनाते हुए, अपने डॉकरीफाइल में 'ENV LANG = C.UTF-8' जोड़ें
एलेक्स

7

दूसरों के सुझाव के अनुसार, मैंने #encoding: utf-8अपनी (इस मामले में, seed.rb) फ़ाइल में सबसे ऊपर जोड़ा , लेकिन फिर भी काम करने के लिए रेक कार्य नहीं मिल सका।

दिलचस्प रूप से पर्याप्त है, एक दोस्त ने सिफारिश की कि मैं बीज फ़ाइल के शीर्ष से अतिरिक्त, रेल-उत्पन्न टिप्पणियों को हटा दूं ताकि केवल #encoding: utf-8बने रहें।

तुम्हें क्या पता होगा - यह काम किया।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.