JSP入表乱码问题?高手帮忙…… 你先看看从前一个JSP页面读进来的中文对不对,因为servlet默认使用iso-8859-1编码方式,所以需要对字符串首先进行重新编码,才能写数据库。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以试试out.print出来,如果显示的是正确的中文,就可以直接写到数据库里去,不会乱了否则:String test=new String(test.getBytes("8859_1"),"gb2312"); resonse.setContentType("text/html;GB2312");request.setCharacterEncoding("GB2312"); 肯定是没入数据库之前已经成为乱码了,所以应当在jsp或servlet时校对 1.控制面板-区域设置-英文(或直接安装英文版OS) 2.JSP页面中加入一条语句: <%@ page contentType="text/html;charset=gb2312" %> 3.编译servlet使用: javac -encoding iso8859-1 myservlet.java 在jsp的zone配置文件中,修改编译参数为: compiler = builtin-javac -encoding ISO8859-1 4.CLASSPATH中加入i18n.jar的路径 5.源程序中加入代码变换函数: <%! 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){} return "null"; } %> 6.如果是直接赋值的中文字串,用<%@ page contentType="text/html;charset=gb2312" %> 就足够了。 7.如果使用request传过来的中文字串,用getStr(String)方法转换后使用。 String test=new String(test.getBytes("8859_1"),"gb2312"); 写进去前用以下代码转换:String str=new String(str.getBytes("ISO8859_1"),"gb2312"); javamail解析纯文本邮件,如何分离出附件? jsp网页开发加密与数字签名中获取与发送证书的问题 求免费的jsp空间! js验证表单时怎么保存正确的的信息 response.setContentType下载小问题 链接目标问题 大伙帮忙看看这段代码哪里有错 关于MVC模式的问题 ResultSet is closed~~~~~~~~~~~~~~~~~~Why? 怎样通过jsp页面更改服务器时间?(最好给出源代码) checkbox有什么事件? How to 在页面上显示:<table border="4"><tr><td>This is a Test.</td></tr></table>
否则:String test=new String(test.getBytes("8859_1"),"gb2312");
request.setCharacterEncoding("GB2312");
2.JSP页面中加入一条语句:
<%@ page contentType="text/html;charset=gb2312" %>
3.编译servlet使用:
javac -encoding iso8859-1 myservlet.java
在jsp的zone配置文件中,修改编译参数为:
compiler = builtin-javac -encoding ISO8859-1
4.CLASSPATH中加入i18n.jar的路径
5.源程序中加入代码变换函数:
<%!
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){}
return "null";
}
%>
6.如果是直接赋值的中文字串,用<%@ page contentType="text/html;charset=gb2312" %>
就足够了。
7.如果使用request传过来的中文字串,用getStr(String)方法转换后使用。
String str=new String(str.getBytes("ISO8859_1"),"gb2312");