asp.net需要配置"编码格式"么

freeflying1222 2008-07-12 07:42:30
一直用asp.net,都没有出现汉字乱码的情况,以为ms已经给我们解决了这个问题。
但今天用response.writefile()时出现了乱码。代码如下:
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
随便写几句!
</div>
</form>
</body>
</html>

后台:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.WriteFile(Request.PhysicalApplicationPath+"file.txt");
}

}

file.txt里面就是:
file记事本内容

结果要么随便写几句!,要么file记事本内容就是乱码。

请高手指点
...全文
412 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeflying1222 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 skyaspnet 的回复:]
这个页面的 <head>里设置一下:


HTML code
<meta http-equiv="Content-Language" content="zh-CN">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
[/Quote]

这个好像不行!
freeflying1222 2008-07-14
  • 打赏
  • 举报
回复
呵呵,搞定,谢了
freeflying1222 2008-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gowindows 的回复:]
要不你在response.writefile前指定输出编码,要你不你web.config里配置一下全局编码
[/Quote]
配置时直接就报错!
初吻给了烟 2008-07-13
  • 打赏
  • 举报
回复
<globalization requestEncoding ="gb2312" responseEncoding ="gb2312"/>这个节点是加在
<system.web>
放在这个节点里的
</system.web>
freeflying1222 2008-07-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bulate 的回复:]
试试StreamWriter的方法 要求命名空间system.IO
SeveTemplate("你要保存的文件名a.html","要写入的内容");
/// <summary>
/// 保存文件内容
/// </summary>
public void SeveTemplate(string FileName, string strTemp)
{
string filePath = HttpContext.Current.Server.MapPath(FileName);
WriterFile(filePath, strTemp);
}

/// <summ…
[/Quote]

看不懂!
WriterFile是方法重写么?这句话:
public void WriterFile(string FilePath, string FileString, Encoding encoding)
指定了3个参数,但引用时,代码如下:
WriterFile(filePath, strTemp);
只有两个参数,而且Encoding encoding又是指什么呢?
freeflying1222 2008-07-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liubiaocai 的回复:]
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
把上面这句加到web.config里就行了
[/Quote]

出错了呀!提示如下:

消息 1 未能找到元素“globalization”的架构信息。 d:\Documents and Settings\tanye\My Documents\Visual Studio 2005\WebSites\selfculture\Web.Config 41 4 d:\...\selfculture\

郁闷!
winner2050 2008-07-13
  • 打赏
  • 举报
回复
全部都要统一编码格式.
gui0605 2008-07-13
  • 打赏
  • 举报
回复
<system.web>配置节里面加上<globalization requestEncoding ="gb2312" responseEncoding ="gb2312"/>即可
skyaspnet 2008-07-13
  • 打赏
  • 举报
回复
这个页面的<head>里设置一下:


<meta http-equiv="Content-Language" content="zh-CN">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
lawbc 2008-07-13
  • 打赏
  • 举报
回复
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
把上面这句加到web.config里就行了
bulate 2008-07-13
  • 打赏
  • 举报
回复
试试StreamWriter的方法 要求命名空间system.IO
SeveTemplate("你要保存的文件名a.html","要写入的内容");
/// <summary>
/// 保存文件内容
/// </summary>
public void SeveTemplate(string FileName, string strTemp)
{
string filePath = HttpContext.Current.Server.MapPath(FileName);
WriterFile(filePath, strTemp);
}

/// <summary>
/// 文件写入
/// </summary>
public void WriterFile(string FilePath, string FileString, Encoding encoding)
{
using (StreamWriter writer = new StreamWriter(FilePath, false, encoding))
{
writer.Write(FileString);
writer.Flush();
writer.Close();
}
}
gowindows 2008-07-12
  • 打赏
  • 举报
回复
要不你在response.writefile前指定输出编码,要你不你web.config里配置一下全局编码
freeflying1222 2008-07-12
  • 打赏
  • 举报
回复
啊,是没人看见还是没人感兴趣?
自己顶起来了

61,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧