比如我读取一个文件,文件名叫做"路太弯.MP3",那么我在数据库里记录是"LTW",
做这个是否单独弄一个记录汉字的首字母的数据库表???

解决方案 »

  1.   

    不需要存数据库
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />protected void Button1_Click ( object sender, EventArgs e )
        {
            string text = this.TextBox1.Text;
            string result = string.Empty;
            for ( int i = 0; i < text.Length; i++ )
            {
                result += RetrunValue ( text.Substring(i,1) );
            }
            this.TextBox2.Text = result;
        }
        private string RetrunValue ( string cnChar )
        {
            byte [] arrCN = System.Text.Encoding.Default.GetBytes ( cnChar );
            if ( arrCN.Length > 1 )
            {
                int area = ( short ) arrCN [ 0 ];
                int pos = ( short ) arrCN [ 1 ];
                int code = ( area << 8 ) + pos;
                int [] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
                for ( int i = 0; i < 26; i++ )
                {
                    int max = 55290;
                    if ( i != 25 ) max = areacode [ i + 1 ];
                    if ( areacode [ i ] <= code && code < max )
                    {
                        return System.Text.Encoding.Default.GetString ( new byte [] { ( byte ) ( 65 + i ) } );
                    }
                }
                return cnChar;
            }
            else
            {
                return cnChar;
            }