日期:2014-05-17  浏览次数:20626 次

有关Java-Web项目乱码问题,求教
问题综述:web项目中,在浏览器页面里输入中文插入消息,在mysql数据库中显示为一堆问号,插入英文正常,还有,我在mysql数据库中把插入的消息中的问号改为中文后再在浏览器页面中刷新可以显示为中文,一切正常,就是从浏览器到数据库中出现问题,为此,我做了下面的尝试,问题还没解决,新手,现在真搞不定了。忘高手指教!
在jsp页面中编码统一设置为gbk了,如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>新增版面</title>
<meta http-equiv="content-type" content="text/html; charset=gbk" />
<style media="all" type="text/css">@import "css/all.css";</style>
</head>

myeclipse中也设置了默认编码为gbk,
mysql中建表时也设置为了gbk:---》 ENGINE=InnoDB DEFAULT CHARSET=gbk;
另,在my.ini文件中也设置了默认编码为gbk,就连那个建表默认编码都设置为了gbk
还是没解决问题,又跑去设置tomcat中的编码格式为gbk:
如 useBodyEncodingForURI="true"URIEncoding="GBK"

希望能给个全面的解决方案,谢啦
乱码 编码 数据库 Java?web?

------解决方案--------------------
1、直接在数据库操作,看有没有乱码
2、调试代码,观察服务器接收到的请求是否乱码
3、或者换utf-8试试
------解决方案--------------------
插入之前输出看看是否乱码?或者还有哪没设置统一编码,换成utf-8试试也行
------解决方案--------------------
页面,后台程序,数据库库统一为utf-8
------解决方案--------------------
后台接受的时候,转一下字符串的编码格式就可以了,最好的方式是通过debug来观察你获取的是上面编码类型,在加一个转换函数就可以了input= new String(input.getBytes("gbk"),"utf-8");
------解决方案--------------------
tomact 端口设置哪里的编码也改成gbk 原来我jboss就是改哪里的