mysql5.0+j2sdk1.5.0+tomcat5.5.12mysql设成utf8编码,安装时可以选择编码,也可以通过C:\Program Files\MySQL\MySQL Server 5.0\my.ini中default-character-set=utf8修改.mysql做好后编码后,前台无须转码,直接存取,无乱码.
------------------------------------------
tomcat5.5 的server.xml中<Connector port="8080" ...... URIEncoding="ISO-8859-1"></Connector>
为什么要设这个地方,因为tomcat 对get,post两种提交方式处理不一致.对于post容器用的iso-8859-1编码,get就不知道是什么编码了,所以要加个URIEncoding="ISO-8859-1"参数统一两种方式.
最后,在request.getParameter()方法之前加上request.setCharacterEncoding("你的编码,如gbk");
搞定,反正我是搞定.
input.htm
----------------------------------
<FORM METHOD=post ACTION="mysql">
<INPUT TYPE="text" NAME="col">
<br>
<INPUT TYPE="submit">
</FORM>
mysql.java
-----------------------------------
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.io.*;
public class mysql extends HttpServlet  
{
protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
response.reset();
response.setContentType("text/html;charset=gbk");
request.setCharacterEncoding("gbk");
PrintWriter out=response.getWriter();
String str=(String)request.getParameter("col");
out.println(str);
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=qazwsx");
PreparedStatement ps=cn.prepareStatement("insert t values(?)");
ps.setString(1,str);
ps.executeUpdate();
ps.close();
cn.close();
}catch(Exception e){e.printStackTrace();}finally{
response.sendRedirect("index.jsp");
} }}
index.jsp
-----------------------------------
<%@ page contentType="text/html" pageEncoding="gbk" import="java.sql.*"%>
<%
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=qazwsx");
Statement st=cn.createStatement();
ResultSet rs=st.executeQuery("select * from t");
rs.first();
out.println(rs.getString(1)+"</br>");
while(rs.next()==true){
out.println(rs.getString(1)+"</br>");


}
rs.close();
st.close();
cn.close();}catch(Exception e){out.println(e);}finally{out.println("中文");}%>
<a href="input.htm">添加</a>