首页 > 技术文章 > 特殊字符,如Emoji表情Base64存储到数据库

xtjatswc 2019-12-03 16:12 原文

   有些特殊字符,如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);

 

推荐阅读