有些特殊字符,如Emoji,存儲到oracle數據庫就會變成亂碼,解決方案就是Base64轉碼后存儲到數據庫,取出后再解碼傳輸,經過驗證是可以的。
- 編碼存儲,接收參數轉json再.ToString(),不影響效果
//獲取參數 JObject pramas = JObject.Parse(context.Request.Params("params")); string comments = pramas["COMMENTS"].ToString(); byte[] commBytes = System.Text.Encoding.Default.GetBytes(comments); //轉成 Base64 形式的 System.String string commentsBase64 = Convert.ToBase64String(commBytes);
- 取出解碼,賦值給DataRow,再轉json傳送到客戶端,可正常顯示
byte[] commBytes = Convert.FromBase64String(row["COMMENTS"].ToString()); row["COMMENTS"] = System.Text.Encoding.Default.GetString(commBytes);