由于我现在是给台湾客户做,所以编码得用big5,这点有问题区别我提交处是:
<form action="treeaddchk.jsp" method="post" name=myform>
父ID:<input name="fatherid" type="text" value="<%=fatherid%>" readonly><br/>
父類名:<input name="fathername" type="text" value="<%=fathername%>" readonly><br/>
層號:<input name="grade" type="text" value="<%=grade%>" readonly><br/>
本類名:<input name="name" type="text" value="新建類"><br/>
<input name="type" type="hidden" value="add"><br/>
        <input name="" type="submit" value="提交">
</form>接收处是
<%@ page contentType="text/html; charset=big5" language="java" import="java.sql.*" %>
<%@ page import="java.text.*"%>
<%@ page import="java.util.List,java.util.ArrayList,java.util.Map,java.util.HashMap"%>
<%
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
%>
<jsp:useBean id="readproduct" class="net.action.readproduct" scope="page" />
<jsp:useBean id="Tochar" class="net.action.Tochar" scope="page" />
<html>
<head>
</head>
<body>
<%
String type=Tochar.getStr(request.getParameter("type"));
if(type.equals("add")){
int fatherid=Integer.parseInt(Tochar.getStr(request.getParameter("fatherid")));
int grade=Integer.parseInt(Tochar.getStr(request.getParameter("grade")));
String name=request.getParameter("name");
String tempname=Tochar.getStr(request.getParameter("name"));
String ddk=new String(name.getBytes("UTF-8"), "GBK");
String ff5=new String(tempname.getBytes("UTF-8"), "GBK");
%>
<script language="JavaScript">
alert("<%=name%>!");
alert("<%=tempname%>!");
alert("<%=ddk%>!");
alert("<%=ff5%>!");
</script>
<%
int Passflag=readproduct.insert(fatherid,ff5,grade);
%>
<%if(Passflag==1){%>
<script language="JavaScript">
alert("添加成功!");
document.location.href="treeaction.jsp?action=add";
</script>
<%}%>
<%if(Passflag==0){%>
<script language="JavaScript">
alert("添加不成功,請重輸");
document.location.href="treeaction.jsp?action=add";
</script>
<%}%>
<%if(Passflag==-1){%>
<script language="JavaScript">
alert("異常錯誤!");
document.location.href="treeaction.jsp?action=add";
</script>
<%}%>
<%}%>
</body>
</html>
本来一切都好,就是,别说存入数据库了,提交过来,接收的时候,发现就是乱码/。

解决方案 »

  1.   

    String str=new String(request.getParameter("").getByte("ISO_8859_1"));
      

  2.   

    这个我好像用过的
    Tochar.getStr()
    这个类我是
    public class Tochar
    {
    public static String getStr(String str) {
        try{
             String temp_p=str;
             byte[] temp_t=temp_p.getBytes("ISO8859_1");
             String temp=new String(temp_t); return temp;
             }
        catch(Exception e){
              } //return "";
        if(str == null)
              return "";
        else
             return str;
     }
    }不过我先试下
      

  3.   

    String str=new String(request.getParameter("name").getByte("ISO_8859_1"));
    我这样写的哎
    可是报错
    An error occurred at line: 14 in the jsp file: /admin/treeaddchk.jsp
    Generated servlet error:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\admin\treeaddchk_jsp.java:88: cannot resolve symbol
    symbol  : method getByte (java.lang.String)
    location: class java.lang.String
    String str=new String(request.getParameter("name").getByte("ISO_8859_1"));
      

  4.   

    你在下面取值的时候取那个str试试
      

  5.   

    String str=new String(request.getParameter("name").getByte("ISO_8859_1"));
    要用
    getBytes("ISO_8859_1"),"GB2321");
      

  6.   

    OK,我试下,不过我是big5的,是不是要改成big5
      

  7.   

    心太急了,还是不行,虽然alert("")出来的是正常了,但存入数据库时,却不行。
      

  8.   

    嗯,我是自己做一个tis.properties文件去取的#--------------------------------------------------------
    #Project :  mysql数据库链接
    #
    #Author 胡文虎
    #YMD 2006/4/20
    conn=jdbc:mysql://127.0.0.1/tis?user=root&password=&useUnicode=true&characterEncoding=ISO_8859_1
    #--------------------------------------------------------那我这个characterEncoding要写成什么?是big5还是ISO_8859_1家里人逼着剃头去了,回来继续看
      

  9.   

    我的web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <jsp-config>
        <jsp-property-group>
          <description>Special property group for JSP Configuration JSP example.</description>
          <display-name>JSPConfiguration</display-name>
          <url-pattern>*.jsp</url-pattern>
          <url-pattern>*.html</url-pattern>
          <el-ignored>true</el-ignored>
          <page-encoding>GBK</page-encoding>
          <scripting-invalid>false</scripting-invalid>
        </jsp-property-group>
      </jsp-config>
    </web-app>是不是也要改
      

  10.   

    characterEncoding=GBK 就行了,哈哈