Mysql SQL无法插入零宽度空间字符
不知怎的,我的html页面有Mysql SQL无法插入零宽度空间字符,mysql,sql,hibernate,encoding,Mysql,Sql,Hibernate,Encoding,不知怎的,我的html页面有-零宽度空格字符,我将它发送到DB以存储在一列中 现在,我的一个DB接受这个值,而另一个DB实例抛出错误 标题列的字符串值\xe2\x80\x8b不正确 DB的模式和表的排序规则都是latin 1-Default,列的排序规则都是table Default。即使尝试将列的排序规则设置为utf8-默认排序规则-仍然存在相同的问题 另外,我正在使用Hibernate进行数据库操作 Exception org.jboss.resteasy.spi.Unhan
-零宽度空格
字符,我将它发送到DB以存储在一列中
现在,我的一个DB接受这个值,而另一个DB实例抛出错误
标题列的字符串值\xe2\x80\x8b不正确
DB的模式和表的排序规则都是latin 1-Default
,列的排序规则都是table Default
。即使尝试将列的排序规则设置为utf8-默认排序规则
-仍然存在相同的问题
另外,我正在使用Hibernate进行数据库操作
Exception
org.jboss.resteasy.spi.UnhandledException: org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updateorg.jboss.resteasy.core.SynchronousDispatcher.unwrapException(....
root cause
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updateorg.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140).....
java.sql.BatchUpdateException: Incorrect string value: '\xE2\x80\x8B\xE2\x80\x8B...' for column 'LEFT_TEXT' at row
好的,我得到了答案 虽然我的排序规则是
utf8
,但我必须将char设置为utf8
使用
alter table schema.table-name转换为字符集utf8代码>发布错误休眠消息和休眠日志以进一步澄清。。因此,Unicode符号和#8203
(此处两个字节)不是来自拉丁1字符集。我已将特定列的排序规则更新为utf8-默认排序规则,但仍然存在问题