java页面乱码

来源:互联网 发布:纸箱价格算法 编辑:程序博客网 时间:2024/06/05 06:47
乱码是一直困我们的问题,大多数乱码原因是使用的编码方式与源文件的编码不一致,当乱码出现时,首先检查客户端编码、服务器编码、数据库编码、系统环境以及开发环境各自的编码是否一致。
解决HTML页面的中文问题:
为了使HTML页面很好的支持中文,在每个HTML页面的<head>标签内部增加
<meta http-equiv="Content-Type" content="text/html;charsetc=UTF-8">
解决jsp页面中的中文问题:
pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
http(post)请求中文乱码:
response.setCharacterEncoding("UTF-8");
http(get)请求中文乱码:
需要获取请求的字符串,然后把整个字符串进行转换,同时需要知道原编码
String param=request.getParamter("param");
param=new String(param.getabaytes("ISO-8859-1","UTF-8"));
Mysql数据库中的中文问题:
解决Mysql数据库中文问题主要在JDBC驱动的URL上添加
jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=UTF-8
Tomcat的默认编码是iso-8859-1,如果没有指定的话,就会使用默认的编码,修改Tomcat编码:
修改Tomcat下的conf/server.xml文件
找到如下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。
可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
修改完成后:
<Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
0 0