我有一个现有的ASP.NET 2.0网站,存储在团队基础服务器2005某些页面/控件被编码为ANSI(根据记事本++)和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"/>

除了改变的元元件,我假设我还需要改变所有的文件的编码。我可以在记事本++但如果任何人有任何更快的方法,请注明他们做到这一点。

我可能会面临什么样的问题,当涉及到合并/ TFS中比较?

有帮助吗?

解决方案

这取决于有多少文字的代码库使用的0..127 ASCII范围之外的字符。

您可能要扫描的那些一是看它会多大影响。如果你的代码主要是英语,那么你可能没有太多的担心。

其他提示

我会写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编码。然后查看是否该字符被转换成功。

要自动执行的程序,你可以写所有的文件转换从ASCII到UTF-8,使用1252作为代码页的应用程序。如果您没有上述127个字符,你不需要担心这些。

这不一定是真实的。我不知道ASP.net,但我们在这里做了所有的PHP代码在ANSI和服务于UTF8的页面。我们所有的数据库信息被存储在UTF8为好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top