refer below thread
http://www.aspforums.net/Threads/133506/Populate-DropDownList-with-Persian-value-from-Database-using-C-in-ASPNet/
here I used below code to send persian data to SP
_cmd.Parameters.AddWithValue("@Type1",SqlDbType.NVarChar).Value = Lblallty.Text;
_cmd.Parameters.AddWithValue("@Type2", SqlDbType.NVarChar).Value = Lblapartman.Text;
now I use above code in other metod
    private void ViewcodeInfo()
    {
        using (SqlConnection conn = General.GetConnection())
        {
            using (SqlCommand _cmd = General.GetCommand("codemelk_ViewInfo", conn))
            {
                _cmd.Parameters.AddWithValue("@name", SqlDbType.NVarChar).Value = Lblname2.Text;
                _cmd.Parameters.AddWithValue("@mobile", Txtmob1.Text);
                conn.Open();
                SqlDataReader _dr = _cmd.ExecuteReader();
                while (_dr.Read())
                {
                    Lblname1.Text = _dr["MalekName"].ToString();
                    Lblmobile.Text = _dr["MalkeMobile"].ToString();
                }
            }
        }
    }
but it doesn't work I mean I have problem with persian data here...
USE [AmlakeAbdi]
GO
/****** Object:  StoredProcedure [dbo].[phone1_ViewInfo]    Script Date: 05/01/2017 09:48:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter procedure [dbo].[codemelk_ViewInfo]
@name nvarchar(40),
@mobile nvarchar(30)
as
begin
   select date ,MalekName,MalkeMobile,MosName,MosMobile,code
   from Estate_info
   where MalekName=@name
end
best regards
neda