<body>
<%
request.setCharacterEncoding("GBK");
%>
....
</body>
<%
request.setCharacterEncoding("GBK");
%>
....
</body>
解决方案 »
- 在Struts2 如果有多个拦截器栈顺序写错会有什么不同?
- 急!!!JSP错误The requested resource is not available.
- 怎样将struts,jsp,sql2000做的论坛发布到网上呢?我太着急了,能成功我会给好多分的,食言我就再也不来这里了。。。
- 请问jboss服务器地址栏输入路径后如何不显示文件夹下的文件列表?
- 关于移植的问题
- 关于tomcat启动目录配置的问题
- jdk 自带的log管理问题
- javacsript和jsp对象调用
- tomcat部署相同项目问题
- 聊聊爬虫
- 如何在JSP中实现用鼠标滚轮对图片局部区域的放大与缩小
- 构造HttpServletRequest对象
页面中必须加入contentType="text/html; charset=gb2312"
在输出中文的地方进行重新编码为GBKString s = new String(s.getBytes("iso-8859-1"),"GBK");
<body>
<%
request.setCharacterEncoding("GBK");
%>
....
</body>用这个一般行
如果你用了bean接收参数时这句你要写在 用bean接收参数语句之前
例如:
<%@ page contentType="text/html;charset=gb2312"%>
<% request.setCharacterEncoding("GBK");%>
<jsp:useBean id="mybean" scope="page" class="className">
<jsp:setProperty name="mybean" property="*"/>
</jsp:userBean>
......................
1、再web.xml配置了filter(GBK)。
2 再mysql的my文件了设了default(把mysqlid下面的该为GBK)
3.再jsp里加了contentType="text/html; charset=gb2312"
4、在连接池里的url也写了characterEncoding=GBK
但是从数据库里取出的数据是乱码(我使用到数据库操作的bean)
这到底为什么???
Convert.javaimport java.io.UnsupportedEncodingException;public class Convert
{ public Convert()
{
} public static String convert(String s)
{
return s != null ? new String(s.trim().getBytes("iso-8859-1")) : "";
UnsupportedEncodingException unsupportedencodingexception;
unsupportedencodingexception;
return s;
}
}
放在你的包中,用bean 调用它,一切问题就解决了!
jdbc:mysql://localhost:3306/myTable?useUnicode=true&characterEncoding=GBK
看看你有没有漏掉useUnicode=true
编译Bean时采用GBK编译方式试试
在jsp里加上这一段
<%
request.setCharacterEncoding("GBK");
%>
数据库连接
jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=GBK"
1,如果数据库的字符集也是iso8859的,则可以把数据直接保存在数据库。这样取出来的时候要设置GBK的编码,不过是在jdbc url设置还是用getBytes("iso-8859-1")转换都可以。
2,如果数据库的字符集是中文的,则在存入数据库之前要进行8859到gbk转换,从数据库取出时则直接显示就可以了。
肯定好使
public String swapString(String aString)
{
try{
String temp_t = aString;
byte[] temp_b = temp_t.getBytes("ISO8859-1");
String temp = new String(temp_b);
return temp;
}catch(Exception e){}
return "NULL" ;
}
方法带入从JSP的输入,输出为转换后的汉字
mysql>show variables like "%char%";mysql>show variables like "%colla%";能看到你的mysql字符集设置,如果有不是gbk,可以用下面的命令改变它:
mysql>SET character_set_client = gbk
mysql>SET character_set_connection = gbk
mysql>SET character_set_database = gbk
mysql>SET character_set_results = gbk
mysql>SET character_set_server = gbkmysql>SET collation_connection = gbk_bin
mysql>SET collation_database = gbk_bin
mysql>SET collation_server = gbk_bin另外,对你原来有中文的表执行下面语句:
ALTER TABLE 表名 CONVERT TO CHARACTER SET gbk;
检查数据库,看看设置哦