में vim के माध्यम से utf-8 में फ़ाइल एन्कोडिंग बदलें, हमारे सर्वर को डेबियन 4 से 5 तक अपडेट करने के बाद ही खटखटाया गया है। हमने यूटीएफ -8 पर्यावरण पर स्विच किया है और अब हमें टेक्स्ट को सही तरीके से मुद्रित करने में समस्याएं हैं ब्राउज़र पर, क्योंकि सभी फाइलें आईएसओ -885 9 -1, एएससीआई आदि जैसे गैर-utf8 एन्कोडिंग में हैंएक स्क्रिप्ट
मैंने कई अलग-अलग स्क्रिप्ट की कोशिश की।
मैंने पहली बार कोशिश की "iconv" है। वह काम नहीं करता है, यह सामग्री को बदलता है, लेकिन फाइलों को एन्कॉन्डिंग अभी भी गैर-utf8 है।
एपीए, एन्कैम, कन्फम और कुछ अन्य टूल्स के साथ एक ही समस्या जिसे मैंने एपीटी-गेट के माध्यम से स्थापित किया था।
फिर मुझे एक पाइथन कोड मिला, जो फ़ाइल के एन्कोडिंग का पता लगाने के लिए कार्डेट यूनिवर्सल डिटेक्टर मॉड्यूल का उपयोग करता है (जो ठीक काम करता है), लेकिन यूनिकोड क्लास या कोडेक क्लास का उपयोग करके इसे सहेजने के लिए utf-8 काम नहीं करता है कोई त्रुटि
फ़ाइल और इसकी सामग्री को यूटीएफ -8 में परिवर्तित करने का एकमात्र तरीका वीआई है।
vi filename.php
:set bomb
:set fileencoding=utf-8
:wq
Thats यह:
ये कदम मैं एक फ़ाइल के लिए कर रहे हैं। वह एकदम सही काम करता है। लेकिन यह एक स्क्रिप्ट के माध्यम से कैसे चल सकता है। मैं एक स्क्रिप्ट (लिनक्स खोल) लिखना चाहता हूं जो सभी php फ़ाइलों को ले जाने वाली निर्देशिका को घुमाता है, फिर उपरोक्त आदेशों के साथ vi का उपयोग करके उन्हें परिवर्तित कर देता है। के रूप में मैं vi एप्लिकेशन शुरू करने के लिए की जरूरत है, मैं कुछ इस तरह कैसे करना है पता नहीं है:
"vi --run-command=':set bomb, :set fileencoding=utf-8' filename.php"
आशा कोई मेरी मदद कर सकते हैं।
मुझे पता है कि कि argdo का मतलब नहीं है, लेकिन मैं इस की कोशिश की और यह काम करता है: 'vim +" सेट बम | सेट fileencoding = UTF-8 | wq "$ (खोजने के प्रकार च -name * .php।) ' – NovumCoder
अच्छा। Argdo सिर्फ तर्क सूची में प्रत्येक फ़ाइल के लिए आदेश दोहराता है। –