Gus*_*ren 5 asp.net encoding utf-8
试图创建我的第一个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一起出现.
要使用非 ASCII 字符,您需要具备两件事。通过为文件选择此编码,使用 UTF-8 保存文件,并确保您的web.config中有这些设置
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
Run Code Online (Sandbox Code Playgroud)
请注意,ASP.NET 上始终有一个 web.config。全局的也有这些设置并位于 asp.net 目录中{drive:}\WINDOWS\Microsoft.NET\Framework\{version}\CONFIG\,然后是项目上的 web.config 。有时,全局设置来自当前国家/地区的编码。在这种情况下,您需要在项目中将其设置回 UTF-8。
你已经找到了所有这些,我只指出 3 个设置:
| 归档时间: |
|
| 查看次数: |
6551 次 |
| 最近记录: |