1

iso-8859-1 の xml ファイルを utf-8 に変換する方法はありますか?

4

1 に答える 1

2

最も簡単な方法は、それを読み込んでから、利用可能な XML API の 1 つを使用して保存することです。そうすれば、追加の変換 (XML 宣言など) が適切に処理されます。例えば:

using System;
using System.Text;
using System.Xml.Linq;

class Test
{
    static void Main(string[] args)
    {
        XDocument doc = XDocument.Load("test.xml");
        XDeclaration declaration = doc.Declaration;
        if (declaration != null) {
            declaration.Encoding = "utf-8";
        }
        doc.Save("test-utf8.xml");
    }
}

いくつかの追加オプションを指定しない限り、これによりインデントなどの周りのいくつかが変更される可能性があることに注意してください。それはあなたにとって問題になる可能性がありますか?

ファイル全体を ( を使用して) テキストとしてロードし、宣言部分を自分で変更して、自分で UTF-8 で再保存することができます。Encoding.GetEncoding(28591)ただし、それが問題を引き起こすコーナーケースがいくつかあると思います。

于 2010-09-11T16:20:25.787 に答える