我正在尝试将表情符号以及文本数据保存到postgressql database with version PostgreSQL 9.4.15
并在UTF8
中编码Spring MVC Web application
。我在utf8.
中使用了数据库默认排序规则,我能够将表情符号和文本数据保存在数据库中,但是当使用dao方法检索行时,它显示了如下错误。
发现无效的字符数据。这很可能是由 存储的数据包含对该字符无效的字符 设置创建数据库的位置。最常见的示例是 在SQL_ASCII数据库中存储8位数据。
我的朋友是xamarin Forms PCL项目,有什么办法可以从前端本身解决此问题,也可以从后端解决任何问题吗?
预先感谢
答案 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