2010-04-27 4 views
11

मेरे पास आईएसओ -8851-2 (कुछ पॉलिश वर्ण हैं) में एन्कोड किए गए टेक्स्ट फ़ाइलों का एक समूह है। क्या लिनक्स/मैक के लिए एक कमांड लाइन उपकरण है जिसे मैं एक शेल स्क्रिप्ट से चला सकता हूं ताकि इसे एक saner utf-8 में परिवर्तित किया जा सके?क्रिससेट रूपांतरण XXX से utf-8, कमांड लाइन

+1

सबसे अधिक संभावना आईएसओ -885 ** 9 ** - 2। आईएसओ 8851 मक्खन के बारे में बोलता है। – Melebius

उत्तर

23

कमांड लाइन से उपयोग करें

iconv -f LATIN1 -t UTF8 

आप UTF8 को //TRANSLIT जोड़ सकते हैं।

+4

ओएसएक्स पर कम से कम यूटीएफ एन्कोडिंग को यूटीएफ -8 कहा जाता है, इसलिए कमांड "iconv -f LATIN1 -t UTF-8" –

+0

@ थॉमस पार्सलो, 'iconv -l' दोनों 'यूटीएफ 8' और' यूटीएफ -8 'सूचीबद्ध करता है। – lhf

+0

@ एलएफएच शायद एक टाइपो ... यूटीएफ 8 परिणामों का उपयोग 'iconv में: यूटीएफ 8 असमर्थित यूटीएफ -8 में रूपांतरण के बजाय स्वीकार किया जाता है। प्रयास किया – Paolo

3

जीएनयू 'libiconv' नौकरी करने में सक्षम होना चाहिए।

+0

धन्यवाद! मुझे पता था कि यह सोचा जितना आसान होगा! – Marcin

9
recode latin2..utf8 myfile.txt 

इस नए संस्करण के साथ myfile.txt ऊपर लिख देगा। आप एक पाइप के रूप में फ़ाइल नाम के बिना रिकोड का भी उपयोग कर सकते हैं।

+1

स्वीकार्य उत्तर से अधिक कुशल तरीका है, क्योंकि iconv एक ही फ़ाइल को प्रतिस्थापित नहीं करेगा, यहां तक ​​कि -o या आउटपुट रीडायरेक्ट का उपयोग भी करेगा। –