大概是被 .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");
}
现在你知道问题在哪了!