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

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

最近在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掉原来的数据库,重新执行单元测试,运行通过。

转载于:https://my.oschina.net/pangzhuzhu/blog/327023

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109703.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月1日 上午9:00
下一篇 2021年9月1日 上午10:00


相关推荐

  • php将字符串内的指定字符全部替换,php中如何替换字符串中的某个字符[通俗易懂]

    php将字符串内的指定字符全部替换,php中如何替换字符串中的某个字符[通俗易懂]在PHP中,可以使用strtr()函数实现字符串替换。首先我们简单了解下strtr()函数的定义及语法。语法:stringstrtr(string$str,string$from,string$to)第一个参数表示待转换的字符串。第二个参数表示字符串中与将要被转换的目的字符to相对应的源字符。第三个参数表示字符串中与将要被转换的字符from相对应的目的字符。实例:…

    2022年5月23日
    40
  • 如果编程语言是一门武功绝学「建议收藏」

    学习编程与武功绝学武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,掌握了足够多的招式后,加之勤学苦练,量变引起质变,会有一天打开任督二脉顿悟出这些招式背后的哲学逻辑,成为一代宗师。在编程的学习过程中,我们何尝不是从一招一式的函数、语法、特性等学起,掌握了一门编程语言后,再学习另一门语言就会快很多,如同拥有内功后,习得其他武功也会轻松很多。如果编程语言是一门武功绝学,各语言分别是哪门武功绝学呢?汇编语言汇编语言-易筋经汇编语言是计算机提供给用户的最快最有效的语言,也是能够..

    2022年4月6日
    41
  • 两数之和 IV – 输入 BST

    两数之和 IV – 输入 BST两数之和IV-输入BST(力扣:653)给定一个二叉搜索树和一个目标结果,如果BST中存在两个元素且它们的和等于给定的目标结果,则返回true。

    2022年5月9日
    48
  • tomcat服务启动,但是无法访问网站_java获取request的所有参数

    tomcat服务启动,但是无法访问网站_java获取request的所有参数废话不说,真接上代码。HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestProperty(“Content-Length”,”0″);中的第二句没有起作用(发出去的http头里,未含有Content-Length字段)。但是这个代码在android平台上跑的时候,第二句是起了作用的。为…

    2025年10月21日
    4
  • UCOSII-内存管理

    UCOSII-内存管理UCOSII 内存管理对于程序运行资源分配很有帮助 在需要使用大量内存空间时需要用到内存管理 需要时申请 用完释放 UCOSII 系统提供内存管理函数 供用户使用 本文详细介绍了内存管理的相关函数及配置 供大家参考 谢谢

    2026年3月17日
    2
  • oracle在schema是什么意思?

    oracle在schema是什么意思?看来有些人还在 schema 不明白的真正含义 今天 我再次整理 我希望能帮助 我们先来看看它们的定义 Aschemaisaco usedbyauser Schemaobject sdata

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号