jsp乱码问题,求助

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:30:33
下了个几年前的jsp源码,我装上后一直有中文乱码问题,数据库我用mysql,

并用sql-front操作,在用sql-front的时候已把字符设置为gb2312,

而且在sql-front中能正确显示中文,但就是在jsp页面上用getstring方法

得到乱码,我也用过getbytes(iso-8859-1)等方法试过还是没有用。

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page pageEncoding="gb2312" %>
这两条语句在jsp页面也都写了

求高人相助

把ISO-8859-1码转换成GB2312
*/
public static String ISOtoGB(String iso){
String gb;
try{
if(iso.equals("") || iso == null){
return "";
}
else{
iso = iso.trim();
gb = new String(iso.getBytes("ISO-8859-1"),"GB2312");
return gb;
}
}
catch(Exception e){
System.err.print("编码转换错误:"+e.getMessage());
return "";

对于jsp+mysql的多语言问题,可以用以下解决方案,可以对任意语言都适用。
1.在数据库链接字符串上要形如:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8(注意要加characterEncoding=UTF-8)
2.在数据库表和相应的字段都要的charset要选择utf8(字段也要加),请注意:需要设置到字段级别!!!!!
3.在servlet的java中去参数时要加上:httpServletRequest.setCharacterEncoding("UTF-8");
4.jsp页面要加上字符集:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
这样就可以处理所有语言的乱码问题的终极解决方案,可以解决任何语言的乱码问题。

关于开发java的乱码问题,下面是以前我写