मैं अक्सर पाठ फ़ाइलों (जैसे कि मेरी मूल भाषा, फ़ारसी में उपशीर्षक फ़ाइलें ) के साथ चरित्र एन्कोडिंग समस्याओं का सामना करता हूं । इन फ़ाइलों को विंडोज पर बनाया गया है, और एक अनुपयुक्त एन्कोडिंग (ANSI प्रतीत होता है) के साथ बचाया गया है, जो इस तरह से अस्पष्ट और अपठनीय दिखता है:
विंडोज में, कोई भी आसानी से नोटपैड ++ का उपयोग करके इसे आसानी से यूटीएफ -8 में एन्कोडिंग में बदल सकता है, जैसे नीचे:
और सही पठनीय परिणाम इस प्रकार है:
मैंने GNU / Linux पर समान समाधान के लिए बहुत कुछ खोजा है, लेकिन दुर्भाग्य से सुझाए गए समाधान (जैसे यह प्रश्न ) काम नहीं करते हैं। सबसे अधिक, मैंने देखा है कि लोग सुझाव देते हैं iconv
और recode
लेकिन मुझे इन उपकरणों के साथ कोई भाग्य नहीं मिला है। मैंने कई आदेशों का परीक्षण किया है, जिसमें अनुसरण भी शामिल है, और सभी विफल रहे हैं:
$ recode ISO-8859-15..UTF8 file.txt
$ iconv -f ISO8859-15 -t UTF-8 file.txt > out.txt
$ iconv -f WINDOWS-1252 -t UTF-8 file.txt > out.txt
इनमें से कोई भी काम नहीं किया!
मैं Ubuntu-14.04 का उपयोग कर रहा हूं और मैं एक सरल समाधान (या तो GUI या CLI) की तलाश कर रहा हूं जो कि Notepad ++ की तरह ही काम करता है।
"सरल" होने का एक महत्वपूर्ण पहलू यह है कि स्रोत एन्कोडिंग को निर्धारित करने के लिए उपयोगकर्ता की आवश्यकता नहीं है; बल्कि स्रोत एन्कोडिंग को उपकरण द्वारा स्वचालित रूप से पता लगाया जाना चाहिए और उपयोगकर्ता द्वारा केवल लक्ष्य एन्कोडिंग प्रदान की जानी चाहिए। लेकिन फिर भी, मुझे एक ऐसे कार्य समाधान के बारे में जानकर खुशी होगी, जिसके लिए स्रोत एन्कोडिंग प्रदान करने की आवश्यकता होती है।
यदि किसी को विभिन्न समाधानों की जांच के लिए परीक्षण-मामले की आवश्यकता है, तो उपरोक्त उदाहरण इस लिंक के माध्यम से सुलभ है ।
iso-639
लेकिन ऐसा लगता नहीं है कि iconv
या तो उपलब्ध है recode
। कम से कम, मैं इसे आउटपुट में नहीं देखता iconv -l
।
vim
लेकिन यह कारगर नहीं हुआ।
vim '+set fileencoding=utf-8' '+wq' file.txt
।