mysql乱码

net start mysql
net stop mysql
mysql -u root -p

create database dbname charset
create table student(
name varchar(20),
age int
)
insert into student values('aaa',22);
insert into student values('bbb',33);
insert into student values('ccc',44);
insert into student values('张三',24);

SHOW VARIABLES LIKE 'character_set_%';

以utf-8格式编码为例:
1.jsp页面编码设置
  <%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
  <html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8" />
</head>
  </html>
2.servlet编码设置:
  request.setCharacterEncoding("UTF-8");
  response.setContentType("text/html;charset=UTF-8");
3.数据库编码设置
  (1)创建数据库时要先设置成utf-8格式,下面主要以mysql为例来说明这个问题:
     create database db default character set utf8(注意是utf8,不是utf-8)
     在插入数据的时候,尤其是中文,要注意,
     用status命令查看client characterset是什么编码的,如果是utf8的话,直接插中文是插不进去的,必须用一个set names gbk;命令,才可以确保插成功
  (2)在java程序端创建连接时,url设置成
     jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8
  可以写一个DAO,测试一下是否能插入正确的数据,显示正确的数据。如果中文显示?,有可能你用的jar包有问题,确保它是版本5的,我曾经用的版本3,出来就是?。千万要注意一下。
   如果上面的步骤都严格执行的话,应该是没什么问题的了。

你可能感兴趣的:(mysql乱码)