常见编码方式主要有(ISO-8859-1,GBK,GB2312,UTF-8,)
乱码主要分4大块:
1、页面乱码;
HTML: <meta http-equiv="content-type" content="text/html; charset=UTF-8">
JSP: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
Servlet:request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
注意:
a.JSP一定要和你的request/response.setCharacterEncoding的编码一样
b.request/response.setCharacterEncoding对get无效
2、上传文件乱码;
普通字段 name = new String(item.getString("UTF-8"));
非普通字段 DiskFileUpload dfu = new DiskFileUpload();
dfu.setHeaderEncoding("UTF-8");
3、普通表单提交乱码;
post:request.setCharacterEncoding("UTF-8");
get:name = new String(name.getbytes("ISO-8859-1"),"UTF-8");
在tomcat server.xml 添加(端口前的位置8080) UTIEncoding ="UTF-8"
4、数据库乱码(以mysql为例);
首先在安装的时候选择默认编码(UTF-8)
在创建数据库的时候也要选择(UTF-8)
若数据库的编码不是UTF-8 的编码的,可以用
alter database [dbName] default character set utf8;
use [dbName];
alter table [tableName] convert to character set utf8;
进行修改。当然修改之后你还是看不到之前存放的中文数据,这个时候你就要用set names gbk了,
目前我到的编码问题大致也就这几种,有更好更多的方式的希望大家多多提出,大家一起学习。
245

被折叠的 条评论
为什么被折叠?



