Windows下修改mysql编码为utf-8

        今天遇到个很头疼的问题,在向MySql数据库插入中文的时候,总是报下面的错误:

java.sql.SQLException: Incorrect string value: '\xE5\xB8\x8C\xE8\xB4\x9D...' for column 'nickName' at row 1

        特此查看资料说是数据库的编码字符集不是utf-8导致的,但是从网上找了好多修改数据编码的方法都不太奏效,下面是我自己的修改方法,在此做个总结:

        (1):进入mysql的安装目录,找到my-default.ini或者my.ini配置文件,你可以将my-default.ini修改成my.ini,影响不大的;

        (2):我的my.ini只有一个[mysqld]标签,其他均处于注释状态,我们在my.ini里面做两件事

                在[mysqld]标签下添加:character-set-server=utf8

                增加一个[client]标签,并且在[client]标签下添加:default-character-set=utf8

        (3):到任务列表中重启mysql服务;

        (4):进入dos界面,登录数据库,输入命令:show variables like "%char%";如果dos界面出现的下图所示结果,说明你修改mysql编码成功啦!

                       

        (5):重启mysql服务;

        (6):如果这时候你向数据库中插入中文字符还是会出现乱码或者还是会出现java.sql.SQLException: Incorrect string value: '\xE5\xB8\x8C\xE8\xB4\x9D...' for column 'nickName' at row 1异常的话,你还需要尝试下面几个步骤:

        (7):重新创建数据库(我使用的是Navicat创建的),将数据库的字符集设置成:utf8 -- UTF-8 Unicode,将排序规则设置成:utf8_unicode_ci或者utf8_general_ci都可以;

                                

        (8):如果这时候上面的异常以及乱码问题还没解决的话,那么我们还需要修改连接数据库的字符集啦,我把我连接mysql的url贴出来:

public static final String DRIVER = "com.mysql.jdbc.Driver";
	public static final String DATABASENAME = "wangyimusic";
	public static final String URL = "jdbc:mysql://localhost:3306/"+DATABASENAME+"?useunicode=true&characterEncoding=utf8";
	public static final String USERNAME = "root";
	public static final String PASSWORD = "123456";
        好了,上面就是我解决mysql数据库编码问题的方法了,如果你遇到此类问题,可以尝试下,还是不行的话,欢迎留言探讨,转载请注明出处,谢谢!!


  • 12
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值