MyEclipse中页面默认编码为”ISO8859-1″,如果输入了中文会显示乱码:
保存时会弹出如下图的提示对话框。
在myeclipse中如何更改jsp的默认编码
或
jsp页面代码:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
1、contentType指定了服务器响应给客户端的http内容类型,默认为”text/html“,charset指定了服务器发送给客户端时的内容编码。
2、pageEncoding是jsp文件本身的编码。
3、<meta>标签中的charset设置为utf-8。
<meta charset="utf-8">
知识点:
contentType和pageEncoding都不设置时,Content-Type默认为:ISO-8859-1;
如果只设置pageEncoding为UTF-8时,Content-Type会根据pageEncoding来设置编码格式为UTF-8。
Servlet页面中文乱码原因及解决方法
Servlet页面中文乱码原因:
在一方编码后,另一边解码时,解码的字符集和编码的不一致而导致的。可以简单理解为(各种字符需要先编码以后,再传输,对方接收以后再按照指定的字符集进行解码,同时显示到页面,或者打印到控制台)。
解决方法:
response.setContentType("text/html; charset=gb2312");
JSP页面传递中文参数时乱码
注册页面: 用户名: <input type=”text”name=”username” id=”username”/>
接收时出现中文乱码: request.getParameter(“userName”)
<% String userName = request.getParameter("userName"); out.println("用户名为:" + new String(userName.getBytes("ISO-8859-1"),"utf-8")+"<br>"); %>
或
request.setCharacterEncoding(”utf-8″):设置从request中取得的值或从数据库中取出的值。
指定后可以通过getParameter()则直接获得正确的字符串,如果不指定,则默认使用iso8859-1编码。
注意:该语句需要放在request.getParameter()使用之前,否则不起作用。
125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2975.html