相关疑难解决方法(0)

我是否需要web.config用于非ASCII字符?

试图创建我的第一个ASP.NET页面.在XP上获得IIS 5.1,配置为运行.NET 4.创建一个新的虚拟目录并添加.aspx文件.浏览文件时,非ASCII字符已损坏.例如,ü(U + 00FC)被转换为Ã(U + 00C3 U + 00BC),这就是I-not-get-this-is-UTF-8等价物.

我尝试了各种方式来利用这个:

  1. 我确保.aspx文件确实编码为UTF-8.
  2. 我设置了元标记:

    <meta charset="UTF-8">

  3. 我将虚拟目录设置为处理text/html;charset=utf-8IIS中的HTTP标头>文件类型下的.aspx .

  4. 我加入ResponseEncoding="utf-8"<%@ Page ... %>.
  5. 我插入了字符串HttpUtility.HtmlEncoded().现在ü被转换为U(U + 00C3 U + 00BC).

最后,我找到了两种方法:

  1. 用字符引用替换非ASCII字符,比如&#252;这在90年代是可以的,而不是今天.
  2. 使用以下内容将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一起出现.

asp.net encoding utf-8

5
推荐指数
1
解决办法
6551
查看次数

标签 统计

asp.net ×1

encoding ×1

utf-8 ×1