这几天一直在做朋友圈发表动态,用户提出了使用输入法的表情后在朋友圈显示为??问题,作为一个新手菜鸟,只能不停的百度。。。方法很多,但是基本都是是使用的mysql,鉴于,我们的后台很忙。。。。所以只能自己慢慢研究了。
由于我们使用的sql 2005或者sql 2008,所以其实方法很简单的
1、传递数据给服务器后,由于emoji表情无法保存到数据库,这时候我们需要进行编码,我们的后台数据接口是用C#写的,所以只需要一句话:
string s=System.Web.HttpUtility.UrlEncode(str, System.Text.Encoding.UTF8);
把emoji表情转为utf8编码保存到数据库。
2、之前百度,有人说读取数据库后再utf8解码后发送给手机端,这个我试过后发现手机端接受到的还是??。根据一步一步打印发现不知道在网络传输中出现什么状况,后台的json是表情,但是手机端收到的却是??,所以想了个方法,数据库直接取utf8的编码字符串传递出去,在手机端自己解码
android:
s = java.net.URLDecoder.decode(jo.getString("Title"),"UTF-8");
iOS:
NSString *str1 = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//字符串解码
就这么的问题解决了。。。
每天记录下自己的学习过程。。。慢慢进步吧
还有个问题:PC端无法显示emoji表情。。。慢慢来吧,后台的为什么这么忙啊