小测XSP是否支持中文

来源:互联网 发布:单片机控制电磁铁 编辑:程序博客网 时间:2024/05/17 06:44

早几天的时候一直对XSP支持中文的问题耿耿于怀。想重新编译XSP来修正对中文支持的问题,可惜功力不够
只能够重新编译但编译后的exe却无法响应Http的访问.....(如果谁成功编译过请指教)
于是今天想了想如果从数据库读来的数据包含中文情况会怎么样。于是随便写了个测试代码:
数据库使用的是 MySql 4.1
很简单的一个表
+---------+-----------+-----------+
| user_id | user_name | user_pass |
+---------+-----------+-----------+
|       1    | jay          | jay           |
|       2    | jason     | jason     |
|       3    | 张三        | 张三       |
+---------+-----------+-----------+


Example:
<%@ Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML>
 <Head>
   <Title>Mono</Title>
    <META http-equiv=Content-Type content="text/html; charset=GB2312">   
    <script language="c#" runat="server">
      private void Page_Load(Object Sender,EventArgs e)
    {
      string connectionString =
         "Server=localhost;" +
         "Database=MonoDB;" +
         "User ID=root;" +
         "Password=123456;" +
         "Pooling=true";
     MySql.Data.MySqlClient.MySqlConnection conn = new  MySql.Data.MySqlClient.MySqlConnection(connectionString);      
     conn.Open();
     System.Data.DataSet ds = new System.Data.DataSet();     
     MySql.Data.MySqlClient.MySqlDataAdapter MySqlAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter(
     "SELECT * FROM User_info;",conn
     );     
     MySqlAdapter.Fill(ds,"User_info");     
     if (!Page.IsPostBack)
     {
      DropDownList_UserName.DataSource=ds;
      DropDownList_UserName.DataBind();
     }
     conn.Close();
     conn=null;
    }
    </script>
 </Head> 
 <Body>  
  中国(China)  
  <p>
  <form name="form1" runat="server">
  <asp:DropDownList ID="DropDownList_UserName" runat="server" DataTextField="User_name" DataValueField="User_id"></asp:DropDownList>
    </form>
  </Body>
</HTML>

在执行前把MySql的驱动文件放到与网页同级的Bin目录下面就可以了,
还有对于Mono来说只能使用MySql 7.1以后的驱动文件才可以


运行XSP结果如下图:

看来XSP是可以支持中文的。因此推断是在某个 System.Text.Encoding 编码的时候使用了 UTF-8 的编码
所以才造成的。该写封信个 Mono Team 了。 

原创粉丝点击