Tomcat 6.0+MYSQL5.0+Dw乱码问题怎么解决?

来源:百度知道 编辑:UC知道 时间:2024/06/16 00:54:44
以上环境搭建好后,提取数据库表记录,显示中文字正常。

但是向数据库表里提交记录,英文、数字提交后,记录显示正常,唯独如果提交中文字符后,页面显示记录为乱码。调试了很多地方,总是解决不了问题。例如用EMS统一调试了数据库表字符集为UTF-8\GB2312等都不行。

希望知道的朋友指点迷津,谢谢。
在EMS这类管理工具里看通过网页提交的中文记录是乱码,但是在EMS这样的管理工具里增加中文记录,正常。我觉得应该是出在网页提交记录的时候提交给数据库的时候出的问题。

可能是TOMCAT方面的问题吧。要检查什么地方呢?

这个可以把往数据库提交前的变量值给打印出来,看否正常;
如果确定是插入数据库前出的问题,定位到tomcat之后,把传参过程设置一下编码,get和post不同的提交方式,相应的处理也不同.

或者使用tomcat自带的编码过滤器统一处理,这个也很方便,不用每个页面都处理了

首先要定位是哪个环节出了问题,就是说乱码是发生在哪一步的,
可以用断点或者System.out跟踪一下。

是传参数时,插入数据库前还是插入数据库后,还是从数据库中读出时
定位之后,不同的步骤会有不同的处理方法,这个网上资料很多。

要改mysql的数据存储类型。
首先你看下,数据在哪个阶段出现乱码。你看下数据库里面存的值是不就是乱码。(很可能数据库存的就是乱码)。

其实是你的页面的问题
1):用过滤器
新建一个类ChineseFilter
//生成自己的过滤器

package org.perfect.struts.filters;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ChineseFilter extends HttpServlet