ASP.NET中文变问号问题解决方案


  本文标签:ASP.NET中文变问号

  作者刚开始写ASP+程序时候碰到的第一个比较大的问题就是中文显示问题,运行后发现ASP+从数据库中读取出来的中文全部变成了?????????????,有点类似jsp中的这个频率出现最高的ASP.NET中文显示问题了,查了资料发现有两种方法可以轻松解决ASP.NET中文变问号的问题  。   

  ASP.NET中文变问号问题解决方法一:

  在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到

  web目录下,试了一下,中文显示果然OK了  。

  方法如下:

  建立一个文件config.web,内容如下,放在WEB目录下

  1. < configuration> 
  2. < globalization   
  3. requestencoding="utf-8"   
  4. responseencoding="utf-8"   
  5. />   
  6. < /configuration> 

  后来在网上看到论坛中有人发帖子说将utf-8换成gb2312好像也可以,作者没有试过,大家可以一试  。

  ASP.NET中文变问号问题解决方法二:

  后来订阅了微软的新闻组,在微软的新闻组dotnet.framework.aspplus.general中发现有讨论这个问题的文章,方法为添加< %@ CODEPAGE = "936" %>到每一页的开头,有点类似于jsp中的< %@ page contentType="text/html;charset=gb2312"%>

  赶紧测试了一下,果然OK!!!

  例子如下面所示:

  1. < %@ CODEPAGE = "936" %> 
  2. < %@ Import Namespace="System.Data" %> 
  3. < %@ Import Namespace="System.Data.ADO" %> 
  4. < %@ Import Namespace="System.Globalization" %> 
  5. < html> 
  6. < head> 
  7. < meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  8. < /head>