在保存带有文字数据的表情符号时出现错误消息

时间:2018-11-20 12:46:51

标签: java postgresql spring-mvc xamarin.forms

我正在尝试将表情符号以及文本数据保存到postgressql database with version PostgreSQL 9.4.15并在UTF8中编码Spring MVC Web application。我在utf8.中使用了数据库默认排序规则,我能够将表情符号和文本数据保存在数据库中,但是当使用dao方法检索行时,它显示了如下错误。

  

发现无效的字符数据。这很可能是由   存储的数据包含对该字符无效的字符   设置创建数据库的位置。最常见的示例是   在SQL_ASCII数据库中存储8位数据。

我的朋友是xamarin Forms PCL项目,有什么办法可以从前端本身解决此问题,也可以从后端解决任何问题吗?

预先感谢

3 个答案:

答案 0 :(得分:2)

尝试的另一种选择:客户端需要在发送到服务器之前在base 64中编码消息,并在将数据返回给客户端之前解码回base 64。这应该使表情符号可以在客户端应用程序上工作。

答案 1 :(得分:1)

您可能必须参考以下文章The ultimate guide to Emojis,以获取有关如何处理此问题的一些见解。

答案 2 :(得分:1)

从前端解决此问题非常容易。由于您的前端是xamarin表单,因此您需要先对内容进行编码,然后再将其发送到服务器中,并在检索时对内容进行解码。

 System.Net.WebUtility.UrlEncode(*string*); // Encode
 System.Net.WebUtility.UrlDecode(*string*); // Decode