質問

Team Foundation Server 2005に保存されている既存のASP.NET 2.0 Webサイトがあります。ページ/コントロールの一部はANSI(Notepad ++に準拠)としてエンコードされ、Content-Typeヘッダーは次のように設定されます。

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>

すべてのページをUTF-8に変更したいため、Content-Typeヘッダーを次のように変更します。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

メタ要素を変更する以外に、すべてのファイルのエンコーディングを変更する必要があると思います。 Notepad ++でこれを行うことができますが、誰かがもっと速いメソッドを持っている場合は、それらに言及してください。

TFSでのマージ/比較に関して、どのような問題に直面する可能性がありますか

役に立ちましたか?

解決

コードベース内のテキストのどれだけがASCII範囲0..127以外の文字を使用しているかによります。

最初にそれらをスキャンして、その影響を確認することをお勧めします。コードベースが主に英語である場合、おそらくあまり心配する必要はありません。

他のヒント

Pythonスクリプトを作成します

for fn in os.listdir(srcdir):
    data = open(srcdir+"\\"+fn, "rb").read().decode("windows-1252")
    data = data.replace("charset=windows-1252", "charset=utf-8")
    open(srcdir+"\\"+fn, "wb").write(data.encode("utf-8"))

文字セットの更新は、この特定の文字列が発生しないことを前提としています 他の場所;より長い文字列をチェックすることで、より堅牢にすることができます。 古いテキストが実際にファイルに存在するかどうかを確認し、適切に実行する XML解析など

UTF-8エンコードの前にUTF-8署名を配置する必要がある場合があります データ; codecs.BOM_UTF8にあります

この変更がTFSにどのような影響を与えるかわかりません。

ソース管理エクスプローラーでファイルを右クリックし、[プロパティ]を選択できることを発見しました。 TFSに関する限り、エンコードを表示/変更できます。

0〜127のASCII範囲を超える文字を含むファイルを選択します。それをメモ帳で開き、[名前を付けて保存]を選択し、エンコードにUTF-8を選択します。次に、文字が正常に変換されるかどうかを確認します。

手順を自動化するには、1252をコードページとして使用して、すべてのファイルをASCIIからUTF-8に変換するアプリケーションを作成します。 127を超える文字がなければ、これらすべてを心配する必要はありません。

これは必ずしも真実ではありません。 ASP.netについては知りませんが、ここではすべてのPHPコーディングをAnsiで行い、ページをUTF8で提供します。すべてのデータベース情報もUTF8で保存されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top