表情符号android在保存在数据库

时间:2016-08-29 08:20:39

标签: java android ios

我试图在mysql数据库中保存表情符号。在android中它显示正常,但是当我在数据库中保存表情符号时,我得到了#34; ????"。我知道commons-lang-2.5.jar库,我可以使用StringEscapeUtils.escapeJava(String text)StringEscapeUtils.unescapeJava(String text)来编码和解码表情符号。

但Android和iOS客户端使用相同的服务器,如果我在Android上使用commons-lang-2.5.jar,那么iOS将无法解码。在相关的说明中,iOS保存并显示表情符号。

如果Android和iOS在在线模式下被覆盖(跨socket.io),Android和iOS客户端会正确显示表情符号,但如果我从聊天服务器请求历史记录,则存储在服务器上的表情符号将显示为???,就像在Android上一样。

更新

简单示例:

comment = etxtComment.getText().toString().trim();

new SubmitCommentsOnlyChat(comment).execute();

 class SubmitCommentsOnlyChat extends AsyncTask<Void, String, Boolean> {

          String message;

          SubmitCommentsOnlyChat(String message) {
              this.message = message;
          }
@Override
            protected Boolean doInBackground(Void... params) {
                // TODO Auto-generated method stub
                try {
                    HttpClient httpclient = new DefaultHttpClient();

                    HttpPost httppost = new HttpPost(
                            "url");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5);

nameValuePairs
                            .add(new BasicNameValuePair(
                                    GlobalConfig.CHAT_ONLY_MESSAGE,
                                    message));

                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));

0 个答案:

没有答案