MySql不能插入中文问题解决
mysql插入中文报错:incorrect string value:...
今天尝试了jsp 中连接mysql数据库插入中文一直报错,搞了我一天的时间
到晚上终于搞定了。
进入安装目录下的 my.ini修改配置,
有两个地方需要修改,一个是client端的还有一个是server端的
Sql代码
1.# CLIENT SECTION
2.# ----------------------------------
3.#
4.# The following options will be read by MySQL client applications.
5.# Note that only client applications shipped by MySQL are guaranteed
6.# to read this section. If you want your own MySQL client program to
7.# honor these values, you need to specify it as an option during the
8.# MySQL client library initialization.
9.#
10.[client]
11.port=3306
12.[mysql]
13.default-character-set=gbk//这个地方
14.
15.# SERVER SECTION
16.# ----------------------------------
17.#
18.# The following options will be read by the MySQL Server. Make sure that
19.# you have installed the server correctly (see above) so it reads this
20.# file.
21.#
22.[mysqld]
23.# The TCP/IP Port the MySQL Server will listen on
24.port=3306
25.
26.#Path to installation directory. All paths are usually resolved relative to this.
27.basedir="C:/Program Files/MySQL/MySQL Server 6.0/"
28.#Path to the database root
29.datadir="C:/Program Files/MySQL/MySQL Server 6.0/Data/"
30.# The default character set that will be used when a new schema or table is
31.# created and no character set is defined
32.default-character-set=gbk//这个地方
33.
其实这两个地方弄好了,未必就能插入中文,
还要在创建数据库的时候 指定 default charset=gbk
创建表的时候最好也加上。
create table data(
id int primary key auto_increment,
sid varchar(256) not null,
name varchar(256) not null,
longitude decimal(10,6) not null,
latitude decimal(9,6) not null,
jam_level integer(1) not null,
description text,
insert_time timestamp not null,
update_time timestamp not null
)default charset=gbk
按以上操作后,中文可以插入mysql数据库中了(最好此时重启下mysql服务:net stop mysql,net start mysql)。