特殊字符,如Emoji表情Base64存储到数据库
有些特殊字符,如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);