Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySql编码问题插入行SPRING+;冬眠_Java_Mysql_Hibernate_Encoding_Utf 8 - Fatal编程技术网

Java MySql编码问题插入行SPRING+;冬眠

Java MySql编码问题插入行SPRING+;冬眠,java,mysql,hibernate,encoding,utf-8,Java,Mysql,Hibernate,Encoding,Utf 8,我在最后一年的项目上遇到了问题。我正在使用Spring+Hibernate访问我的MySql数据库。我使用Tapestry作为视图层 我需要插入一行,其中一个字段与枚举字段匹配。枚举值之一是“Polígono”。我的DB编码设置为UTF-8 我将数据库转储到一个XML文件(自定义格式),并对其进行解析。Purpose正在不同的设备上通过这个XML文件创建数据库。我删除了我的测试数据库,并试图从XML文件中恢复它。单词“Polígono”显示在文件中(UTF-8编码),但如果我尝试使用我的服务和D

我在最后一年的项目上遇到了问题。我正在使用Spring+Hibernate访问我的MySql数据库。我使用Tapestry作为视图层

我需要插入一行,其中一个字段与枚举字段匹配。枚举值之一是“Polígono”。我的DB编码设置为UTF-8

我将数据库转储到一个XML文件(自定义格式),并对其进行解析。Purpose正在不同的设备上通过这个XML文件创建数据库。我删除了我的测试数据库,并试图从XML文件中恢复它。单词“Polígono”显示在文件中(UTF-8编码),但如果我尝试使用我的服务和DAOs插入它,我会得到这个结果(tipo_via是我尝试插入该值的DB列):

Hibernate数据访问的JDBC异常:SQL的SQLException[n/a]; SQL状态[01000];错误代码[1265];列的数据被截断 第一排的“tipo_via”;嵌套异常是 org.hibernate.exception.genericjdbception:已截断的数据 第1行的“tipo_via”列

如果我打印从XML中读取的内容(我试图分配给行字段的字符串),我会在控制台上得到以下结果: 波尔戈诺 如果我创建一个带有“Polígono”值的字符串并打印它,我会在控制台上: 波尔戈诺


有人知道如何解决这个问题吗?这很奇怪。提前感谢

问题已解决。我认为我编写用于创建DB的SQL脚本的文件不是UTF8编码的。我使用DB GUI管理器(SQLYog)检查了该字段的枚举值,并检查了这些值是否编码错误。我修好了,问题就解决了