का उपयोग कर यूटीएफ -16 से यूटीएफ -8 में एक्सएमएल कनवर्ट करना यूटीएफ 16 से यूटीएफ 8 एन्कोडेड फ़ाइल में एक्सएमएल को कनवर्ट करने का सबसे आसान तरीका क्या है?पावरशेल
पावरशेल
उत्तर
यह सबसे इष्टतम नहीं हो सकता है, लेकिन यह काम करता है। बस एक्सएमएल लोड करें और इसे वापस फाइल पर दबाएं। हालांकि एक्सएमएल शीर्षक खो गया है, इसलिए इसे फिर से जोड़ा जाना है।
$files = get-ChildItem "*.xml"
foreach ($file in $files)
{
[System.Xml.XmlDocument]$doc = new-object System.Xml.XmlDocument;
$doc.set_PreserveWhiteSpace($true);
$doc.Load($file);
$root = $doc.get_DocumentElement();
$xml = $root.get_outerXml();
$xml = '<?xml version="1.0" encoding="utf-8"?>' + $xml
$newFile = $file.Name + ".new"
Set-Content -Encoding UTF8 $newFile $xml;
}
ठीक है, मुझे लगता है कि सबसे आसान तरीका है बस के बारे में है कि क्या फ़ाइल XML है या नहीं परवाह नहीं करने के लिए और बस कन्वर्ट है:
Get-Content file.foo -Encoding Unicode | Set-Content -Encoding UTF8 newfile.foo
यह केवल एक्सएमएल के लिए काम करेंगे जब है वहाँ कोई
<?xml version="1.0" encoding="UTF-16"?>
लाइन।
यदि आप कोई नई फ़ाइल बनाये बिना इसे करना चाहते हैं, तो आप प्राप्त सामग्री को ब्रांड्स में लपेट सकते हैं: (Get-content File.foo) | सेट-कंटेंट-एन्कोडिंग यूटीएफ 8 फाइल.फू – Jaykul
निर्देशिका और उपनिर्देशिका में फ़ाइलों के लिए आप यह कैसे करते हैं? – stormwild
'gci -rec -fi * | % {(जीसी $ _ -enc यूनिकोड) | सेट-कंटेंट -एनसी यूटीएफ 8 $ _। पूर्णनाम} '। वास्तव में काफी सरल, वास्तव में। – Joey
इस समाधान एक XmlWriter
का उपयोग करता है का प्रयास करें:
$encoding="UTF-8" # most encoding should work
$files = get-ChildItem "*.xml"
foreach ($file in $files)
{
[xml] $xmlDoc = get-content $file
$xmlDoc.xml = $($xmlDoc.CreateXmlDeclaration("1.0",$encoding,"")).Value
$xmlDoc.save($file.FullName)
}
आप CreateXmlDeclaration
के बारे में अधिक विवरण के लिए XMLDocument
को देखने के लिए चाहते हो सकता है।
इतने संक्षिप्त, तकनीकी रूप से बेहतर, ऐसे पुराने प्रश्न का उत्तर देने के लिए बहुत बहुत धन्यवाद! – gimpf
मुझे इसे पूरा करना पड़ा और मुझे यह प्रश्न देखने से पहले भी यह समाधान मिला। मुझे लगा कि यह पेशकश करना सामान्य था। कम प्रयास के साथ कोई भी फाइलों के एन्कोडिंग को परिवर्तित करते समय प्रतिलिपि बनाने के लिए इसका उपयोग कर सकता है। सादर। – LMA1980
- 1. पावरशेल
- 2. पावरशेल
- 3. पावरशेल
- 4. पावरशेल
- 5. पावरशेल
- 6. पावरशेल
- 7. पावरशेल
- 8. पावरशेल
- 9. पावरशेल
- 10. पावरशेल
- 11. पावरशेल
- 12. पावरशेल
- 13. पावरशेल
- 14. पावरशेल
- 15. पावरशेल
- 16. पावरशेल
- 17. पावरशेल
- 18. विंडोज पावरशेल
- 19. विंडोज पावरशेल
- 20. पावरशेल: परिवर्तनीय
- 21. विंडोज पावरशेल
- 22. पावरशेल: पॉवरशेल ट्रांसक्रिप्ट लॉग
- 23. पावरशेल: गैर-रूट तत्व
- 24. एक अजगर आधारित पावरशेल?
- 25. मैं टीएफएस पावरशेल स्नैपिन
- 26. पावरशेल - रिक्त स्थान
- 27. पावरशेल टैब पूर्णता समस्या
- 28. पावरशेल (विंडोज विस्टा)
- 29. पावरशेल फॉरएच/पाइपिंग भ्रम
- 30. पायथन, पावरशेल, या अन्य?
क्या आप कहीं से बचाने के लिए एन्कोडिंग को स्पष्ट रूप से सेट नहीं करना चाहिए? – Joey
अगर मुझे पता था कि मैं कैसे करूंगा। हालांकि यह डिफ़ॉल्ट है। –
-एन्कोडिंग पैरामीटर। – JasonMArcher