试图创建我的第一个ASP.NET页面.在XP上获得IIS 5.1,配置为运行.NET 4.创建一个新的虚拟目录并添加.aspx文件.浏览文件时,非ASCII字符已损坏.例如,ü(U + 00FC)被转换为Ã(U + 00C3 U + 00BC),这就是I-not-get-this-is-UTF-8等价物.
我尝试了各种方式来利用这个:
我设置了元标记:
<meta charset="UTF-8">
我将虚拟目录设置为处理text/html;charset=utf-8IIS中的HTTP标头>文件类型下的.aspx .
ResponseEncoding="utf-8"了<%@ Page ... %>.HttpUtility.HtmlEncoded().现在ü被转换为U(U + 00C3 U + 00BC).最后,我找到了两种方法:
ü这在90年代是可以的,而不是今天.使用以下内容将web.config文件添加到虚拟目录:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<globalization fileEncoding="utf-8"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)如果不进行fileEncoding设置,ASP.NET解析器将读取.aspx并破坏每个非ASCII字符,而不尝试推断文件编码.这只是你们专业人士学到的东西,还是我错过了什么?带有全球化设置的 web.config文件是否可以处理.aspx页面上的"国际"字符?我不记得有类似PHP的问题,所以我很困惑为什么这与ASP.NET一起出现.