1、在Mysql终端不能输入中文
2、所以有关中文的数据应在MyEclipse中的
数据库中的url使用指定编码方式的链接数据库url。
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
使用MyEclipse的SQL Editor编辑建表和插入数据sql语句,并执行。
3、在Java程序中去连接数据库的url也是使用指定编码方式的url:
Hibernate中使用:jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8
jdbc中使用:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
4、要是还不不行的话则在创建数据库的时候也指定编码方式:
create database if not exists netctoss default character set UTF-8
5、还是不行的话则在建表的时候也指定编码方式:
CREATE TABLE t_course (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED;
6、在直接查看数据库的数据时候 中文可能还会出现 ???
但是把数据提到java中打印则不会是??? 乱码了
7.你的程序中都是用统一编码。
mysql 分页语句:select * from emp limit 1,10
mysql 时间列自动插入当前日期时间
create table default_time (
id int not null primary key auto_increment,
name varchar(20) default 'chenlb',
my_time timestamp default current_timestamp
);
插入时间数据类型:
insert into default_time(my_time) values(timestamp('20081212090909'));
计算一个时间段的秒差:select timedeff(d1,d2) from test
web中get和post请求中文乱码:
post的请求解决中文乱码:可以写个过滤器类实现javax.servlet.Filter的doFilter()方法:
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
response.setCharacterEncoding("utf-8");
在web.xml中配置就可以用了,但是url配置要放在请求的前面。
get的请求中文乱码:
打开tomcat的conf/server.xml文件
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />