JSP写入数据库的中文乱码问题 在后面加上8859_1,如:String name = new String(request.getParameter("name").trim().getBytes("8859_1"));这样写入数据的就应该是中文了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String u_name = request.getParameter("u_Name");.........pstmt = connection.prepareStatement(SQL);pstmt.setString(1, new String(u_name.getBytes("ISO8859_1"))); http://expert.csdn.net/Expert/topic/1650/1650179.xml?temp=.8569147换resin3.0.0beata一切中文问题迎刃而解 new String(str.getBytes("ISO8859-1"),"gb2312"); 你在存入数据库的页面,也加上这句话<%@ page contentType="text/html;charset=gb2312" %>不就可以了吗? 在后面加上8859_1,如:String name = new String(request.getParameter("name").trim().getBytes("8859_1")); 在取参数之前调用request.setCharacterEncoding("gb2312"); str=new String(str.getBytes("gb2312"),"ISO8859-1"); 在html中显示的式big5码,而在jsp中显示的是unicode,所以要转化 方法一:(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/HttpReque stBase.java 找到protected void parseParameters()方法,把 if (encoding == null) encoding = "ISO-8859-1"; 改为 if (encoding == null) encoding = "GBK"; 编译: 解开jakarta-servletapi-4的原码包,找到servlet.jar文件设置到CLASSPATH 找到tomcat4.0.1的bin包将catalina.jar设置到CLASSPATH. 因为编译时要使用这些api. 然后javac HttpRequestBase.java生成两个class文件. 解开catalina.jar jar xvf catalina.jar(tomcat bin包中的) 覆盖调原来的两个class文件: jar cvf catalina.jar org 即可 重启tomcat4,一切OK!,你再也不用编写烦人的编码转换了。第二种方法我没试过,我用的是3.23以下的版本.这是从另一位网友那转载的 加一个处理中文的自定义的函数:public 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) { e.printStackTrace(); return"null"; }}例如: 如果你要输入中文名字(username) 先转化:username=getStr(username); 然后再写sql就可以了。试试看!!! 通过bpudaye(bpudaye) 给的连接,我看到了这个贴子:http://expert.csdn.net/Expert/topic/1582/1582340.xml?temp=.1223566通过这个贴子的启发我想到了这个办法:在javabean里连接数据库时这样:Connection Conn=DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312","root","");在jsp页面保留<%@ page contentType="text/html;charset=gb2312" %>, 即可达到目标。hpnew07()提到修改tomcat 的方法我没试过,但似乎并不解决数据库读写的问题其它方法统统试过,不管用。 事实上http://expert.csdn.net/Expert/topic/1582/1582340.xml?temp=.1223566中silentduck(沉默的鸭子)给我的启发最大。可惜不在这个贴子,没法把分给他 如何获取异步加载的html页面的所有html源代码? 关于点击按钮弹出jsp页面窗口问题。 JSP自定义函数不能访问javabean么?【求助在线等】 HTTP Status 500 找了好长一段时间,还是没有解决 菜鸟问题,路径配置的简单问题。 cvs,cvsnt的问题还是其他的问题..郁闷死了,帮帮小弟 套打修改?解决就给分,高手都来看看呀 异常丢失 再发一初级servlet帖,第一个servlet运行不成功! 项目数据库设计请教!!! 非常简单的问题,解决立刻给分! BEAN的问题,出错信息在内!就是不理解错在哪了?
.........
pstmt = connection.prepareStatement(SQL);
pstmt.setString(1, new String(u_name.getBytes("ISO8859_1")));
一切中文问题迎刃而解
<%@ page contentType="text/html;charset=gb2312" %>
不就可以了吗?
String name = new String(request.getParameter("name").trim().getBytes("8859_1"));
request.setCharacterEncoding("gb2312");
tomcat4/src/catalina/src/share/org/apache/catalina/connector/HttpReque
stBase.java
找到protected void parseParameters()方法,把
if (encoding == null)
encoding = "ISO-8859-1";
改为
if (encoding == null)
encoding = "GBK";
编译:
解开jakarta-servletapi-4的原码包,找到servlet.jar文件设置到CLASSPATH
找到tomcat4.0.1的bin包将catalina.jar设置到CLASSPATH.
因为编译时要使用这些api.
然后javac HttpRequestBase.java生成两个class文件.
解开catalina.jar jar xvf catalina.jar(tomcat bin包中的)
覆盖调原来的两个class文件:
jar cvf catalina.jar org
即可
重启tomcat4,一切OK!,你再也不用编写烦人的编码转换了。第二种方法我没试过,我用的是3.23以下的版本.这是从另一位网友那转载的
public 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)
{
e.printStackTrace();
return"null";
}
}
例如:
如果你要输入中文名字(username)
先转化:username=getStr(username);
然后再写sql就可以了。试试看!!!
http://expert.csdn.net/Expert/topic/1582/1582340.xml?temp=.1223566
通过这个贴子的启发
我想到了这个办法:
在javabean里连接数据库时这样:
Connection Conn=DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312","root","");在jsp页面保留<%@ page contentType="text/html;charset=gb2312" %>, 即可达到目标。hpnew07()提到修改tomcat 的方法我没试过,但似乎并不解决数据库读写的问题其它方法统统试过,不管用。
http://expert.csdn.net/Expert/topic/1582/1582340.xml?temp=.1223566
中
silentduck(沉默的鸭子)
给我的启发最大。
可惜不在这个贴子,没法把分给他