关于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 升级Mac Catalina后OBS录屏软件麦克风和内置声音输出没有声音的问题[通俗易懂]

    升级Mac Catalina后OBS录屏软件麦克风和内置声音输出没有声音的问题[通俗易懂]升级MacCatalina后,OBS录屏软件录制的视频,电脑内置声音输出,以及麦克风输入声音都没有。使用网上搜到的soundflower工具也不行。后来找到如下命令临时解决。在终端输入如下命令:open/Applications/OBS.app/Contents/MacOS/OBS–args-picture每次使用OBS,都需要用上述方法。直接打开OBS的不行,需要等OBS…

    2022年5月15日
    176
  • TensorFlow DCNN

    TensorFlow DCNNDeepConvolutionalNeuralNetwork,DCNN计算机视觉三大核心问题:图像分类物体检测图像语义分割图像语义分割是将图像分割成几组有某种特定语义含义的像素部分,最终获得具有语义标注的图像。应2012年AlexNet诞生,它是8层的DCNN,以10%的优势击败了传统图像构建特征方法,在1000类的图像分类任务中获得冠军。参考:笔记:基于DCNN的图…

    2022年5月5日
    55
  • java中Bigdecimal加减乘除运算

    java中Bigdecimal加减乘除运算在java中的Bigdecimal类型的数据进行加减乘除运算的时候要调用以下方法:加法:add减法:subtract乘法:multiply除法:divide例如: BigDecimali=newBigDecimal(2);BigDecimalj=newBigDecimal(1);//加法System.out.println(i.add(j));//减法System.out.println(i.subtract(j));

    2022年6月2日
    61
  • gridview属性_GridView

    gridview属性_GridViewGridView在生成HTML代码的时候会自动加上style=”border-collapse:collapse;”以及border=1,rules=”all”这些属性,这些在IE下都没什么影响,但是在FF下就会影响显示,style=”border-collapse:collapse;”;是由于设置了CellSpacing=”0″产生的,当设置CellSpacing=”1″后就没有,可以去掉sty

    2022年9月25日
    4
  • dsp移相全桥pwm_功放整流桥为什么烧

    dsp移相全桥pwm_功放整流桥为什么烧  在网上找关于dsp28335移相寄存器的配置问题,找了好多还是没有百度到现在这个问题终于解决了于是吧关于epwm的配置贴到这里,具体配置看图              这就是具体的配置过程,主要是PHSEN寄存器使能 EPwm2Regs.TBCTL.bit.PHSEN=TB_ENABLE;,还有 EPwm2Regs…

    2022年10月21日
    2
  • Linux 内核版本号命名规则[通俗易懂]

    Linux 内核版本号命名规则[通俗易懂]Linux内核版本有两种:稳定版和开发版,Linux内核版本号由3个数字组成:r.x.yr:目前发布的内核主版本。x:偶数表示稳定版本;奇数表示开发中版本。y:错误修补的次数。内核版本号每位都代表什么?以版本号为例:2.6.9-5.ELsmp,r:2,主版本号x:6,次版本号,表示稳定版本y:9,修订版本号,表示修改的次数头两个数字合在一齐可…

    2025年9月6日
    4

发表回复

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

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