回 帖 发 新 帖 刷新版面

主题:jsp汉字传值问题

我在传String 类型的字符串时遇到一个这样的问题,代码开始时前面有如下语句:
request.setCharacterEncoding("gb2312");
然后当我执行  String strUsertitle=request.getParameter("title"); 时就遇到问题了,当title是英文字母时就没有问题,一切正常,而如果是中文汉字,就显示五个叉后面还有一个问号,并且每个文件前面都有
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>语句,
明明都是gb2312怎么会传不过去呢?
哪位高手指点一下,不胜感激!
谢谢!

回复列表 (共3个回复)

沙发

<html>
<head>
  <title>CH14 </title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
 
<h2>将信息存入 Mysql 中</h2>
<form name="form" action="Mysql.jsp" method="post"  >
  <p>姓:<input name="last_name" type="text" id="last_name"></p>
..............

<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=GB2312" %>

<html>
<head>
  <title>CH14 - Mysql.jsp</title>
</head>
<body>

<h2>将信息存入 Mysql 中</h2>

<%
    Connection con = null;    
    Statement stmt = null;    
    Statement stmt1 = null;    
    ResultSet rs = null;
    
    request.setCharacterEncoding("GB2312");
    

还有你是写入数据库吗?“import="java.sql.*" “”
如果是的话,要对数据库进行设置。
try    
    {        
        Class.forName("com.mysql.jdbc.Driver").newInstance();        
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample?user=root&password=3363&useUnicode=true&characterEncoding=GB2312");        
        stmt = con.createStatement();    

http://www.programfan.com/club/showbbs.asp?id=207036

板凳

<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

加这句看看..
我也碰到过这样的麻烦

3 楼

有时是 gbk 
看下面的
String test=request.getParameter("name");
byte tt[]=test.getBytes("iso-8859-1");
test=new String(tt);

这样就ok了,不论是中文还是英文都能正常显示了

我来回复

您尚未登录,请登录后再回复。点此登录或注册