今天这个问题困扰了一天了。
网上各种解决方案都试过无效。
最后终于试出了以下解决方案。
首先使用
show create table tb_name;
看一下后面的CHARSET=?
这里貌似默认就是LATIN, 因此这个地方必须首先被改掉。
[url]http://dev.mysql.com/doc/refman/5.0/en/alter-table.html[/url]
根据这里写了修改代码:
alter table t_name convert to character set utf8;
再次使用insert语句, 就没问题了。
===========================
这里貌似有一个陷阱就是,
中文系统的cmd命令窗口似乎不支持utf-8的显示。
因此必须使用
set names gbk.
才能在此窗口对table进行正常的操作。
=============================
附上一些配置:
这些配置如果有问题的话,会导致mysql无法启动 - 1067错误。
String url = "jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8";
这个是让发送到mysql的数据为utf-8编码。
===============================
网上各种解决方案都试过无效。
最后终于试出了以下解决方案。
首先使用
show create table tb_name;
看一下后面的CHARSET=?
这里貌似默认就是LATIN, 因此这个地方必须首先被改掉。
[url]http://dev.mysql.com/doc/refman/5.0/en/alter-table.html[/url]
根据这里写了修改代码:
alter table t_name convert to character set utf8;
再次使用insert语句, 就没问题了。
===========================
这里貌似有一个陷阱就是,
中文系统的cmd命令窗口似乎不支持utf-8的显示。
因此必须使用
set names gbk.
才能在此窗口对table进行正常的操作。
=============================
附上一些配置:
my.ini
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
这些配置如果有问题的话,会导致mysql无法启动 - 1067错误。
String url = "jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8";
这个是让发送到mysql的数据为utf-8编码。
===============================