文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程JSPMysql与JSP网页中文乱码问题的解决方案
精品推荐
特别推荐
·什么是 JSP 技术?
·JSP简介
·JSP数据库操作例程
·新手入门:学习JSP的经典的入门学习资料
·由浅入深学习动态网页制作PHP的编程与应用
·输入汉字自动转为拼音(jsp实现方式)
·经验分享 JSP程序员完全蜕变手册
·JSP实战:JBuilder2005中创建数据库表
·新手入门:JSP基本语法与简单表单处理
·使用技巧:在JSP页面中的应用JavaBean
热点TOP10
·树形目录的递归实现数据库+jsp+javabean
·用JSP+JavaScript打造二级级联下拉菜单
·jsp-servlet技术:一篇写的详细的session的好文章
·Mysql与JSP网页中文乱码问题的解决方案
·不用迭代算法而快速实现的jsp树结构
·用jsp处理Cookie
·JSP编程进度条设计实例
·Struts与Velocity集成 五个步骤替代JSP
·JSP语法简表
·JSP读取Text文件

Mysql与JSP网页中文乱码问题的解决方案

日期:2008年8月19日 作者: 查看:[大字体 中字体 小字体]


  从使用JSP开始,中文乱码问题就一直不断,苦不堪言。这次在项目开始之前,我们要解决的第一个问题就是把mysql的中文乱码问题搞定。

  软件及环境:Windows XP(2000), j2sdk1.4.2, Tomcat 5.0.25, mysql 4.1, EMS Mysql Manager 2(方便建表,版本2.8.5.1),驱动为mysql-connector-java-3.1.4-beta-bin.jar。

  目标:在该环境下,实现中文的正常显示,读取与插入数据库。

  注:我只在此环境下测试通过,别的系统及不同版本未测试

  要点:统一字符集(JSP页面编码,mysql建库时字符集选择,连接数据库URL,request设定等)

  下面我以GBK为例讲解。如果要使用utf-8,只要在相应的GBK处换成utf-8即可

------------- 步骤1 以GBK字符集建库建表 -----------------

  我使用EMS来建mysql的数据库及表,因为它是图形界面,方便操作(就像SQL SERVER 2000中的企业管理器一样)。

  建库时,从EMS菜单中选create Database...新建一个数据库,CharacterSet选gbk_bin(另一个gbk_chinese_ci不知道与这个有什么区别,我找资料也没有找到。如果你知道,请告诉我,我补充在这里)。不要把工具栏上有一个加号和数据库模样的图标当成新建数据库了,那个新注册一个已经存在的数据库。 后面建表时,也要选择同样的字符集。

  建好后,此时不要用EMS向里面插入数据,否则你看到的中文依然是乱码。

---------------- 步骤2 连接数据库的URL后加些参数 ----------------------

  假设我新建的数据库是testdb,那么我连接数据库的url应该为:

jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=gbk

  此时要注意:如果我是把这个url写在JAVA代码中,就直接这样写。但如果是在xml配置文件中(如struts-config.xml,web.xml等),要把其中的&改为&才行,否则会出错。也就是:

jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=gbk

----------- 步骤3 每个JSP页面都要声明该中文字符集 ----------------

  在每个JSP页面的最上面都加上一句

<%@ page language="java" contentType="text/html;charset=GBK" %>

  这样才能保证JSP页面中的中文显示正常

------------- 步骤4 加一个传递参数时设定request字符集的filter类 -----------

  因为网络中字符在传递的时候,都是统一以iso-8859-1的编码传递,所以我们必须对request重新设定字符集,才能正常显示中文。如果采用filter类来实现,我们不用在每次取中文参数时都要重新设定。

filter类的内容:

/*
* ====================================================================
*
* JavaWebStudio 开源项目
*
* Struts_db v0.1
*
* ====================================================================
*/
package com.strutsLogin.util;

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;

/**
* 中文过滤器
*/
public class SetCharacterEncodingFilter implements Filter {

// ------------------------ Instance Variables

/**
* The default character encoding to set for requests that pass through
* this filter.
*/
protected String encoding = null;

/**
* The filter configuration object we are associated with. If this value

[1] [2] [3] 下一页 




上一篇:入侵基于JSP+Tomcat的Web网站实录

下一篇:利用Spring框架改进J2EE编程

相关文章:
·不用重装XP系统就可以解决全部故障
·电脑不启动故障诊解决办法
·光驱丢失的原因及解决方案
·怎样成为网页制作高手
·XP系统运行慢?小编自用7招解决
·施工与工程组织方案
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·0X000000该内存不能为read的解决方法
·怎么制作网页
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot