标签:
class UserTest { byte[] nameBytes //存储emoji表情字段 Date dateCreated //grails 时间魔性字段 insert自动获取当前系统时间 Date lastUpdated //grails 时间魔性字段 update 自动获取当前系统修改时间 static constraints = { } //自定义get、set方法 转换byte[]和String def getName() { return new String(nameBytes, "UTF-8") } def setName(String name) { this.nameBytes = name.bytes } }
2.Service执行insertcaozuo
def insertUser(){ UserTest user = new UserTest() user.name = "雪雪 ?? Smile " if (!user.save()) { throw new ValidationException("添加用户失败", user.errors) } }
3.返回json数据
[{ "class": "wxproduct.UserTest", "id": 1, "dateCreated": "2015-05-05T13:49:18Z", "lastUpdated": "2015-05-05T13:49:18Z", "nameBytes": //mysql数据存储的byte[] [-23, -101, -86, -23, -101, -86, 32,//空格字节 -16, -97, -111, -111, 32, 83, 109, 105, 108, 101, 32, -18, -127, -120]}, "雪雪 ?? Smile " //byte[]转换String ]
注:1.mysql5.3以上版本支持utf8mb4编码格式,但经过测试 有时mysql设置utf8mb4设置没有效果
2.emoji标签??是4字节,mysql的utf8的最大支持3字节,utf8mb4支持4字节,但设置数据库连接字符编码格式utf8mb4没有效果
标签:
原文地址:http://www.cnblogs.com/muzi1994/p/4480445.html