asp.net編碼問題
現有一big5編碼的asp 網站,使用access作為數據庫,現想把後后資料輸入轉為asp.net,使用C#,但每當輸入到日文例如”右のテキ”時,加入到數據庫後欄位的資料仍是”右のテキ”,但把編碼改為big5,數據庫欄位內的資料就會變為”右?????”,但之前asp後台增加到數據庫內的資料是”右のテキ”,這與我想達到的效果有點不同,請問怎樣可以在asp.net內把資料” 右のテキ”變為” 右のテキ”增加到數據庫內。 --------------------编程问答----------------------------------------编程问答-------------------- 我是用 access的 --------------------编程问答-------------------- asp.net 页面编码换成 65001 代签名。试试。
alter database yourdbName collate Japanese_Unicode_CS_AS_KS_WS
但不一下,看看CS里面 access 回来的值是否正确,不争权,取值的时候做Ecode处理 --------------------编程问答-------------------- 請詳細說明。
下列是我的代碼
protected void Button1_Click(object sender, EventArgs e)
{
string strConn = ConfigurationManager.ConnectionStrings["MConnectionString"].ConnectionString;
OleDbConnection conn = new OleDbConnection(strConn);
OleDbCommand cmd = new OleDbCommand();
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
string strSQL = "insert into inf(cact) "
+ " values(@cact)";
cmd.CommandText = strSQL;
OleDbParameter paraCAct = cmd.Parameters.Add("@cact", OleDbType.VarChar, 50);
paraCAct.Value = TextBox1.Text.Trim();
cmd.ExecuteNonQuery();
Response.Write("<br /><center>");
Response.Write("新增成功!<br />");
Response.Write("<a href=Import.aspx>上一頁</a>");
Response.End();
conn.Close();
}
catch (Exception ex)
{
bool bValue = ex is ThreadAbortException;
if (!bValue)
{
conn.Close();
Response.Write("新增失敗:<br/>");
Response.Write(ex.Message);
}
}
}
--------------------编程问答-------------------- 路过,顶 --------------------编程问答-------------------- 绑定了! --------------------编程问答--------------------
每天回帖即可获得10分可用分! --------------------编程问答-------------------- 頂頂頂 --------------------编程问答-------------------- 可以用HttpUtility.HtmlEncode进行编码 --------------------编程问答-------------------- 继续顶。 --------------------编程问答-------------------- 還是不行,有其他方法嗎?
--------------------编程问答-------------------- 只能手写了.
给一个汉字转换成GB码的代码.
--------------------编程问答-------------------- 謝謝大大的提意,已經可以了,但有一點美中不足是所有的字都變為代碼,可否做到只有日文才用代碼?
StringBuilder sb = new StringBuilder();
foreach (char c in s) sb.AppendFormat("{0};", Convert.ToUInt32(c));
sb.ToString();
即"右のテキ”變為”右のテキ” 右字不用代碼儲存
--------------------编程问答-------------------- 頂頂頂 --------------------编程问答-------------------- 頂頂頂
补充:.NET技术 , ASP.NET