<%@ page import='java.util.Locale' %>
<%@ page pageEncoding='GB2312' %><-----1
<%
response.setLocale(Locale.CHINA);<-----2
request.setCharacterEncoding("GB2312");<-----3
%>加上这3句在JSP中
<%@ page pageEncoding='GB2312' %><-----1
<%
response.setLocale(Locale.CHINA);<-----2
request.setCharacterEncoding("GB2312");<-----3
%>加上这3句在JSP中
谢谢: VCVCVC(VC爱好者)
解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=gb2312");
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}
http://www.csdn.net/expert/topic/1064/1064137.xml?temp=.6400873
祝你好运!!
对于Tomcat 3.23以下版本,遇到中文问题使用转换函数转换。
toChinese()
public static String toChinese(String strvalue)
{
String returnValue = "";
try
{
if (strvalue != null)
{
trvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
}
}
catch (Exception e) {
}
return trvalue;
}凡是涉及中文字符串,如从数据库中读取中文字符串,或变量名赋值时,使用toChinese函数:
toChinese("这是中文字符串")注:该办法在使用javamail发送中文信息时似乎有问题Tomcat 4.0以上的版本在4.0以后的版本,已经不需要象3.23版本中使用字符转换函数:(1)编译javabean时 javac 命令行加上-encoding ISO8859_1
(2)在Jsp头部中加入<%@ page contentType="text/html;charset=ISO8859_1" %>是不是很简单? 使用本办法基本可以对付实际应用,推荐!但也有一个缺点是,通过form表单get参数;或在url后附带中文,这个办法就失效,我相信应该有办法解决。该办法原理就是在java的各个环节统一编码为:ISO8859_1.修改tomcat只要修改一个地方就行了,文件为:
tomcat4/src/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java找到protected void parseParameters()方法,把
if (encoding == null)
encoding = "ISO-8859-1";
改为
if (encoding == null)
encoding = "GBK";
编译:
CLASSPATH中要设置servlet.jar和catalina.jar(注:这个在tomcat目录下)
因为编译时要使用这些api。
然后javac HttpRequestBase.java生成两个class文件。
用jar xvf catalina.jar命令解开catalina.jar这个包(catalina.jar是tomcat\bin包中的)
覆盖调原来的两个class文件
用jar cvf catalina.jar org命令重新生成catalina.jar包即可
重启tomcat4,你就再也不用编写烦人的编码转换了。