有中文的地方用转中文函数转一下 public String getStrcn(String str){
if(str==null){
str="";
}
else{
try{
str=new String(str.getBytes("iso-8859-1"),"gb2312");
}
catch(Exception ex){
}
}
return str;
}
out.println(getStrcn(name));
if(str==null){
str="";
}
else{
try{
str=new String(str.getBytes("iso-8859-1"),"gb2312");
}
catch(Exception ex){
}
}
return str;
}
out.println(getStrcn(name));
解决方案 »
- 中文字符如何处理,才能正确地存入数据库,而不是乱码?
- Struts配置的数据源在业务层如何得到request?
- jsp如何执行servlet
- Source not found for TrueTypeFont.open() line: not available错误怎么解决?
- 如何使我的请求不只在原页面内更新,而不生成新页面
- 大2时候用java做的门户网站!免费送代码!
- 高分求救(急),在线等,请高手帮忙
- 高分高分!!
- 做压力测试报thread 140433438664448 also had an error,咨询各位是什么原因,谢谢。
- 刚接触j2ee写了个jsp(原本是一个酒店订购开发系统,从简单开始、、)希望大家帮帮忙
- 关于运动曲线,再线等待
- 如何解决在tomcat 4.1下的汉字问题
D:\Apache Tomcat 4.0\work\Standalone\localhost\_\searchout$jsp.java:198: 需要语句。
public String getStrcn(String str)
^
如果数据库中是乱码说明你添加时就没处理好编码,你应该首保证数据库中是中文编码。然后读出时就简单了。<%@page contentType="text/html;charset=GB2312"%>
不可少,
然后把从数据库中读出的汉字转换编码就可以了。
至于怎么转换编码,函数很多,一堆一堆的。
如果不明白再来论坛问问。
应该是tomcat设置的问题,需要设置web.xml,不过我没搞定
我暂时使用输出英文,一点思路,仅供参考。
解决后麻烦通知我一声,谢谢
在jsp里
<%@ page contentType="text/html;charset=iso8859_1"%>
<%response.setContentType("text/html;charset=iso8859_1");%>在html的<head></head>里
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">JavaBean里的函数
//把数据库中取得的结果转化--显示汉字
public String GS(String str)
{ try
{ String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"ISO8859_1");
return temp;
}
catch(Exception e) { return "null";}
} //入库前把表单中提交的中文进行转换
public String toGB(String iso)
{ String gb=null;
if (iso != null)
{ try { gb=new String(iso.getBytes("ISO8859_1"),"GB2312"); }
catch (Exception e) { gb=null; }
}
return gb;
}另外,编译javabean时建议这样:
jc.bat 存到JDK\bin目录
javac -classpath d:\rpc\WEB-INF\classes -encoding iso8859_1 %1
要给分哦!
import javax.servlet.*;
import java.io.*;
public class Myserver extends GenericServlet{
public void service(ServletRequest request,ServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter pw=response.getWriter();
pw.println("<%@ page contentType='text/html;charset=GB2312' %>");
//pw.println("<%response.setContentType('text/html;charset=GB2312');%>");
//System.out.println("<B>妈妈最最喜欢吃的东西:</B>");
pw.println("<html>");
pw.println("<body>");
pw.println("<center>");
pw.println("<form name='Form1' method='post' action='http://localhost:8080/servlet/Myserver'>");
pw.println("<B>");
try{
pw.println(new String((new String("妈妈最最喜欢吃的东西:")).getBytes("GBK"),"ISO8859_1"));
pw.println("</B>");
pw.println("<select name='favourate' size='1'>");
pw.println("<option value='xiangjiao'>" + new String((new String("香蕉")).getBytes("GBK"),"ISO8859_1") + "</option>");
pw.println("<option value='xiangjiao'>" + new String((new String("苹果")).getBytes("GBK"),"ISO8859_1") + "</option>");
pw.println("<option value='xiangjiao'>" + new String((new String("山楂")).getBytes("GBK"),"ISO8859_1") + "</option>");
pw.println("<option value='xiangjiao'>" + new String((new String("巧克力")).getBytes("GBK"),"ISO8859_1") + "</option>");
pw.println("<option value='xiangjiao'>" + new String((new String("其他")).getBytes("GBK"),"ISO8859_1") + "</option>");
}
catch( UnsupportedEncodingException e)
{
}
//try{
// pw.println(new String((new String("妈妈最最喜欢吃的东西:")).getBytes("GBK"),"ISO8859_1"));
//
// }
// catch( UnsupportedEncodingException e)
// {
// }
//pw.println("<option value='xiangjiao'>香蕉</option>");
//pw.println("<option value='pingguo'>苹果</option>");
//pw.println("<option value='shanzha'>山楂</option>");
//pw.println("<option value='qiaokeli'>巧克力</option>");
//pw.println("<option value='qita'>其他</option>");
pw.println("</select>");
pw.println("<br><br>");
pw.println("<input type=submit value='Submit'>");
pw.println("</form></body></html>");
pw.close();
}
}
//<%@ page contentType="text/html;charset=iso8859_1"%>
//<%response.setContentType("text/html;charset=iso8859_1");%>
/*
try{
out.println(new ( (new String("我爱死你了")).getBytes("GBK"),"ISO8859_1"))
}
catch( UnsupportedEncodingException e)
{
} */
但是要记住,从数据库中度数据的时候不要调用该代码,否则独处的数据是乱码
但是往数据库中存入中文的时候就一定要调用该函数。
一般是iso8859-1和gb2312只见的转换