文档章节

关于dbunit报Duplicate entry '????' for key 'xxx'错误的问题

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 390
阅读 19
收藏 1
点赞 0
评论 0

最近在Linux下跑一个原来在window下能正常运行的程序时,在进行单元测试时dbunit在将xml中数据导入数据库的过程中报:Duplicate entry '????' for key 'xxx'错误,我最初怀疑是文件编码的问题,但是经过一翻检查发再并非是xml文件的编码有问题,而是mysql数据库的编码出了问明。过去在windows下安装mysql时会有一个完整的配置向导,其中一个环节是配置mysql的编码,一般我们会选择“对国际化进行最好支持”那一项。而在我的ubuntu下,由于是使用update center直接安装,安装过程中并没有提示对mysql的编码进行配置,这样安装完成的mysql的某些编码配置项就不是utf8了,我们可以通过SHOW VARIABLES LIKE 'character%';命令来查看所有的编码设置,你会发现有很多项都不是utf8编码的。如此一来,解决方法就很简单了,只需要打开/etc/mysql/my.cnf文件,在 client, mysql, mysqld,mysqld_safe段落里均加上default-character-set=utf8即可:

[client]

default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8

[mysqld_safe]

default-character-set=utf8

修改完成后重起mysql,依然用SHOW VARIABLES LIKE 'character%';检查字符编码,如果所有字符编码均为utf8(character_set_filesystem
除外),就说明所有编码都以改为了utf8了。完成了这一工作后,drop掉原来的数据库,重新执行单元测试,运行通过。

本文转载自:http://blog.csdn.net/bluishglc/article/details/6835491

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
写一个“特殊”的查询构造器 - (八、单元测试、收尾工作)

debug 模式 对查询构造器进行调试并不难,从其构造 SQL -> 数据绑定 -> SQL 执行的过程中就能发现,要方便调试,只要可以观察以下信息: 构造的 SQL 绑定的数据 PDO 提供了一个方便的 debug ...

MrQ被抢注了 ⋅ 05/24 ⋅ 0

每个项目中,你必须知道的11个Java第三方类库。

Java第三方library ecosystem是一个很广阔的范畴。不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库。 单元测试 1.DBUnit DBunit是一个基于junit扩展的数据库测试框架。它提供了...

thinkyoung ⋅ 2015/01/07 ⋅ 0

再问一个jpa的问题,对象属性的更新和添加问题

在一个实例中有如下定义的字段: @ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "course_id")private Course course; 当我要插入数据的时候,这个字段我只能这样插入 Course cours...

小安是屌丝 ⋅ 04/13 ⋅ 0

Dao层 service层捕获不到异常是为什么?

我插入一条数据,故意让其逐渐重复 错误不知道为何只报了action层的错误,dao层的和service层的没追踪到。 public void add(UserEntity userEntity) throws RuntimeException { Session ses...

qsyan ⋅ 2012/12/16 ⋅ 12

Mysql 原生语句中save or update 的各种写法

Mysql 原生语句中save or update 的各种写法 背景   在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。如果使用Hibernate,它...

Tek_Eternal ⋅ 2015/02/09 ⋅ 0

MySQL当批量插入遇上唯一索引

一、背景 以前使用SQL Server进行表分区的时候就碰到很多关于唯一索引的问题:Step8:SQL Server 当表分区遇上唯一约束,没想到在MySQL的分区中一样会遇到这样的问题:MySQL表分区实战。 今天...

雍雍_yoyo ⋅ 2013/12/26 ⋅ 0

安卓jar包冲突解决

在项目中尤其是大项目中,经常会引用很多第三发jar,或者lib,就难免出现jar包冲突的现象,一般冲突都会很详细的告诉你哪个类。比如 duplicate entry: xxx.class 解决的方法是在引入依赖的时...

非爱狂风 ⋅ 2016/11/30 ⋅ 0

mysql1062错误: Duplicate entry '...' for key 'PRIMARY

问题解释: Duplicate entry '...' for key 'PRIMARY,即插入数据时,要插入数据的主键数据(...)已经存在,不能再重复添加了。例:Duplicate entry '0' for key 'PRIMARY是指主键为0的数据已...

_周小董 ⋅ 05/24 ⋅ 0

MyEclipse Build path contains duplicate entry:XXX

在myeclipse下启动glassfish报找不到某class,但是手动查找路径文件又存在.project-clean后重新部署,发现glassfish下的autodeploy目录下没有任何class文件,进而发现Problems下出现MyEclipse B...

chape ⋅ 2014/01/17 ⋅ 0

关于mysql主从出现Error 'Duplicate entry '' for key 'PRIMARY'' on query的问题

如题,小弟做主从时出现了错误1062,“Error 'Duplicate entry '' for key 'PRIMARY'' on query” 从网络搜答案时发现绝大数是跳过错误或重做主从,想请教下,有什么方法可以在保持数据一致又...

森林羊 ⋅ 2015/01/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 40分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 42分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 53分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 55分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 56分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 56分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 今天 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部