Jsp文件中会出现下面所示的编码指定方式:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8″>

Meta标签中的charset是在contentType未指定编码时采用的默认编码格式

Tomcat读取JSP文件时采用的编码

pageEncoding="utf-8" --该jsp文件自身采用的编码格式,也就是告诉服务器使用什么编码翻译jsp文件成java文件

Tomcat返回响应时采用的编码

contentType="text/html;charset=utf-8"服务器发送浏览器的数据类型和内容编码。其中charset="utf-8"--用来指定Tomcat返回响应时采用的编码,也是post方式提交参数的编码方式

浏览器显示HTML时采用的编码

浏览器的编码格式的设置

Post提交乱码

jsp中post表单的编码由pageEncoding和contentType参数决定,以pageEncoding为准,如果没有pageEncoding则以contentType为准,如果没有contentType以Meta标签中的charset为准,都没有则以ISO-8859-1编码

入库乱码

查看日志接受时中文,入库后库中为乱码。vi /etc/my.ini修改如下配置

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8

[client]
default-character-set=utf8

参考