为什么不支持中文用户名呢?
初学者求教:
最近照着书上输了一个例子,是一个简单的用户注册页面,将用户信息保存在一个以用户名命名的文本文件中,可是输入英文用户名没有问题,可输入中文用户名时不能正确创建文本文件,只是创建了一个".txt"的文本文件,里面也没有内容,而且description里面也不支持中文,这是怎么回事呢,谢谢指教.代码如下:
1.aspx
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
用户注册<br>
<form action="2.aspx" method="get" name="form" id="form">
用户名称
<input name="name" type="text" id="name">
<br>
输入密码
<input name="password" type="password" id="password">
<br>
密码确认
<input name="repassword" type="password" id="repassword">
<br>
出生日期
<input name="year" type="text" id="year" size="5">
年
<select name="month" id="month">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
月
<br>
个人简介:<br>
<textarea name="description" cols="80" rows="5" wrap="VIRTUAL" id="description"></textarea>
<br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit" value="重置">
</form>
</body>
</html>
2.aspx
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import namespace="System.IO"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script Language="c#" runat="server">
void Page_Load()
{
NameValueCollection coll;
if(Request.HttpMethod=="GET")
{
coll=Request.QueryString;
}
else if(Request.HttpMethod=="POST")
{
coll=Request.Form;
}
else
{
Text1.Text="未知的传送方法";
return;
}
if(coll["password"]!=coll["repassword"])
{
Text1.Text="两次输入的密码不同,注册失败!";
return;
}
try
{
string filename=Request.PhysicalApplicationPath+"\\"+coll["name"]+".txt";
StreamWriter writer=File.CreateText(filename);
writer.WriteLine("name={0}",coll["name"]);
writer.WriteLine("password={0}",coll["password"]);
writer.WriteLine("birthday={0}年{1}月",coll["year"],coll["month"]);
writer.WriteLine("description={0}",coll["description"]);
writer.Close();
}
catch(Exception e)
{
Text1.Text=e.ToString();
}
Text1.Text=coll["name"]+"注册成功!";
}
</script>
</head>
<body>
<asp:Label ID="Text1" runat="server" />
</body>
</html>