`

mysql中文乱码

阅读更多
今天这个问题困扰了一天了。

网上各种解决方案都试过无效。
最后终于试出了以下解决方案。

首先使用
show create table tb_name;
看一下后面的CHARSET=?

这里貌似默认就是LATIN, 因此这个地方必须首先被改掉。

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html
根据这里写了修改代码:
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编码。
===============================
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics