我在表单提交时为中文,怎么到了mysql 中为"????",把mysql读出来也为"???" 代码好下<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="conn" scope="page" class="sqlconn.conn" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body><%String s=new String(request.getParameter("txt").getBytes("ISO8859_1"));
out.println(s);//此处可以显示为中文
String sql;
sql="insert into a values('"+s+"')";
conn.executeUpdate(sql);
%>
<% String aa;
ResultSet rs=conn.executeQuery("select * from a");
while(rs.next())
{
aa=new String(rs.getString("a").getBytes("ISO8859-1"),"gb2312");
out.println(aa); //显示为???}
%>
</body>
</html>请大帮忙解决~~
写入数数据库为乱码,急
<jsp:useBean id="conn" scope="page" class="sqlconn.conn" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body><%String s=new String(request.getParameter("txt").getBytes("ISO8859_1"));
out.println(s);//此处可以显示为中文
String sql;
sql="insert into a values('"+s+"')";
conn.executeUpdate(sql);
%>
<% String aa;
ResultSet rs=conn.executeQuery("select * from a");
while(rs.next())
{
aa=new String(rs.getString("a").getBytes("ISO8859-1"),"gb2312");
out.println(aa); //显示为???}
%>
</body>
</html>请大帮忙解决~~
写入数数据库为乱码,急
解决方案 »
- 急求:web客户端页面有没有前端客户可以绘制流程图插件?
- java服务自动往数据库中的表中增加符合的记录……
- 急!急!十万火急,java web jaas 取得系统用户用户名
- 开发一个翻译英汉查询,用什么样的搜索引擎比较好?
- 有好的Struts+Hibernate+Spring书介绍不?
- 哪位帮我看看这段代码可能隐含什么异常隐患!
- bean:write标签?
- java作b/s开发主流模式?jsp+javabean?还是小应用程序?
- 求助servlet+sqlserver中的中文问题!!
- 跪求啊 时间戳在jsp页面上怎么转换为yyyy-MM-dd HH:mm:ss
- 有关做上传进度条的问题?
- 初学JSP,请问如何将一个多维数组作为参数传入自定义类中的一个函数?
一,检查数据库采用的是什么字符集
二检查数据库中的表采用的是什么字符集
三,最容易被忽视的数据库连接采用什么字符集:
jdbc:mysql://192.168.0.1:3306/ljh?useUnicode=true&characterEncoding=UTF-8
楼主检查这个三个地方.
问题就能解决
ljhyp_cn(香草山牧民):的第三条,非常感谢你
不过我还有一个问题就是我想使用一台机子访问另一台机子的MYSQL数据库,却不行,不知道怎么回事。http://192.168.97.42:8080/index.jsp 这个能够看到TOMCAT 画面
而我现在要使用这台机子的192.168.97.42 上的mysql数据库,我的ip为192.168.97.41我的javabean连接数据库如下:
package sqlconn;
import java.sql.*;
public class conn {
String sDBDriver="org.gjt.mm.mysql.Driver";
String sConnStr="jdbc:mysql://192.168.97.42:3306/bbs?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String password="jjs";
Connection conn=null;
ResultSet rs=null;
public conn()
{
try{
Class.forName(sDBDriver);
}catch(ClassNotFoundException ce){
System.out.println(ce.getMessage());
}
}
public int executeUpdate(String sql) throws Exception
{
int i;
sql= new String(sql.getBytes("GBK"),"ISO8859_1");
try
{
i=1;
conn= DriverManager.getConnection(sConnStr,user,password);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.close();
stmt.close();
}
catch(SQLException ex)
{
System.out.println("更新数据操作失败!"+ex.getMessage());
i=0;
}
return i;
}
public ResultSet executeQuery(String sql) throws Exception
{
rs = null;
try
{
sql= new String(sql.getBytes("GBK"),"ISO8859_1");
conn=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
// conn.close();
//stmt.close();
}
catch(SQLException ex)
{
System.out.println("执行查询出错!"+ex.getMessage());
}
return rs;
}}
="jdbc:mysql://192.168.97.42:3306/bbs?useUnicode=true&characterEncoding=UTF-8";192.168.97.42上的数据库bbs 连接不上,不知道这是怎么回事
的有你找找
另外,如果联不上你有什么错误提示吗?
另外你要确定41和42之间能通过http通信
我要通过192.168.97.41这台机子访问192.168.97.42这台服务器上面的MYSQL 数据库BBS
这两台机子都装了mysql及jdbc错误信息如下:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:207)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
root cause java.lang.NullPointerException
at org.apache.jsp._1_jsp._jspService(_1_jsp.java:61)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
stmt.close();
这个是不妥的,至少顺序是stmt.close();conn.close();
而从你给出的错误信息看,还是头回遇到.
提示是得到空指针.说明conn==null
要么conn= DriverManager.getConnection(sConnStr,user,password);
这里出现了问题如:驱动非法,驱动过期,找不到相应驱动.或者用户名密码错误.
如果这些你确定ok
那么就检查,和42是否能连同192.168.97.42通过http
如果你不能确定,你可以下子一个EMS MySQL Manager 3来试图连接那台服务器
看否连接得上,如果是连接不少!
那么有可能是42的3306端口关闭或者占用,要么mysql服务没有启动.
要么防火墙阻隔.
楼主:你要仔细看看没有个环节
用192.168.97.41(自已机子)进行注册时用ip 192.168.97.41这个不行,而用localhost 这个连接可以。
用ip 192.168.97.42 提示被拒绝访问另外问一下怎样打开3306端口?