基于phpmyamin操作mysql,可见搭建方法传动门
之前项目中用到的都是英文,还没发现,这次自己鼓捣鼓捣,就发现了中文支持的问题。
先从复现问题开始吧,都是一些简单的创建、插入等操作,但是为了能说清楚,以后能记得住,还是一点一点来吧。
-
新建一个数据库,使用默认的排序方式。
-
创建数据表
-
添加字段,除了一些基本的设置和设置主键唯一且自增外,其余都默认。
-
插入带中文的数据
然后神奇的报错了。
好,以上就是复现问题过程。
接下来,是解决过程。
回看数据表的结构,会惊奇的发现数据表创建时设置为varchar的字段,默认的排序方式都是latin1_swedish_ci
。
那就给它改了。以其中一个为例,选中然后修改。
把排序规则改成utf8_general_ci
,保存。
改完后数据表结构是这样的
再次插入数据时,就已经可以支持中文了。
还可以改整个数据库的排序方式。单击选中数据库,然后选中上方菜单的“操作”。
在“排序规则”处将默认的排序规则改成utf8_general_ci
,执行。
将数据库的排序方式改了之后,在这个数据库内再创建数据表的时候,varchar默认的排序方式就变成一样的了,这样就不用一个个字段去选择。注意,对已经创建过的数据表无效,所以已经创建过的数据表还是要一个个字段去改的。
也可以对整个数据表进行排序,跟对数据库排序类似,单击数据表,选择上方“操作”,在“表选项”栏中将排序方式修改并执行即可。再插入文本字段时默认就是修改的数据表的排序方式。同样,也不会对已有的字段起作用。
用mybatis 插入时,再看一下数据表,发现又乱码了。
数据库的url需要配置编码信息
jdbc:mysql://localhost:3306/testSupportCN?useUnicode=true&characterEncoding=UTF-8
再插入时就好了。
谨此,祝好!