您的位置:首页 > 编程语言 > Java开发

java 小记:获取 jsp 页面参数发现中文乱码

2009-10-15 17:09 513 查看
.csharpcode, .csharpcode pre
{
font-size: 12;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
大概是被 .net 平台宠坏了,遇到中文编码问题变得怒火中烧,好在毕竟是多年滚爬在一线的开发人员,借助于 google 以及广大战友的智慧,该问题貌似被自己理解并解决。

tomcat 这玩意默认编码的名称为 ISO-8859-1,在使用 MyEclipse 新建 jsp 文件时,页首便会默认出现该编码名称。如果不更改该页首编码名称以及手动设置,将会导致页面最终显示时所有中文乱码。于是乎可进行如下更改:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("UTF-8");

页面输出中文的显示已经正常。但遗憾的是,编码的问题还远未解决,当试图从页面读取参数时(String value = request.getParameter(“title”)),参数值中的中文字符会变成乱码,本文便是记录这个问题的解决方案。

请创建该全局方法,每次取参时通过该方法进行解码(String value = getUtf8FromIso8859_1(request.getParameter(“title”))):

public static String getUtf8FromIso8859_1(String value) throws UnsupportedEncodingException{
return new String(value.getBytes("ISO-8859-1"), "utf-8");
}

现在你知道问题在哪了!


Technorati 标签: java,jsp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: