当写入数据到mysql数据库中发生乱码时.请检查以下几个地方.
1.tomcat服务器的配置文件,具体目录在Tomcat安装目录/conf/server.xml文件:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" />
2.eclipse工作空间:
在首选项->General -> Workspace->设置UTF-8
3.jsp文件的编码格式:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
4.数据连接配置文件.如果是.properties文件要把&改成&,如果是.xml文件要使用&否则写入数据到数据库中会乱码(我就在这里吃了大亏):
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
jdbc.username = root
jdbc.password = mysql
jdbc.database=commondb
5.安装数据时记得设置指定的编码格式utf8.如果忘记设置可以在安装目录:
C:\Program Files\MySQL\MySQL Server 5.1\中的my.ini文件设置.
具体需要设置2处:
default-character-set=utf8
6.建立数据库时和数据库表时设置成utf8
建立数据库:
CREATE DATABASE `mydb` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
建立数据库表:
CREATE TABLE `t_customer` (
`customer_id` VARCHAR(20) NOT NULL,
`customer_name` VARCHAR(10) NOT NULL,
`customer_level` VARCHAR(10) DEFAULT '普通等级'
PRIMARY KEY (`customer_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
7.配置完成之后重启服务器.即可.