1.浏览器
浏览器会对表单中的数据进行编码,所使用的编码方式式打开该页面时候所使用的编码。
1.1静态页面使用<meta http-equiv="content-type" content="text/html;charset=utf-8">
jsp中设置编码使用<%@page pageEncoding=""><%page contentType="text/html;charset=""">
1.2指定Request对象解码时候所使用的编码方式Request.setCharacterEncoding("utf-8");
1.3如果数据需要输出到浏览器 Response.setContentType("text/html;charset=utf-8");
2.数据库
2.1修改数据的ini文件中的编码
2.2利用安装目录中bin目录下的config.exe程序,重新配置编码,数据库的内容不好受到影响。
2.3创建数据库时候create database name default character set utf-8
2.4jdbc链接数据库时候 jdbc:mysql://localhost:3306/name?useUnicode=true&characterEncoding=utf-8
3.使用io流
转换流可以修改编码
new inputStreamReader(new FileInputStream(new File("./...")),"utf-8");
new String(string,getbites("A--"),“B--”):表示把a编码的字符串转换为b编码的字符串
4.cookie中的编码解码
URLEncoder.encoder("--","A---");
URLDecoder.decoder("--","A-")
5.jsp页面的表单提交的时候,服务器会以为中文的原始编码是iso-8859-1,这样你从表单获取的数据就出现乱码问题。
解决办法是: 如果是从表单获取字符串,中文的那种,你可以String的编码转换方式,转换后使用。
new String(string,getbites("A--"),“B--”):表示把a编码的字符串转换为b编码的字符串