`
endual
  • 浏览: 3567222 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2连mysql乱码解决方法

 
阅读更多


(2009-11-12 20:12:47)
标签:

杂谈

分类: struts2

目前对遇到jsp中文及其乱码问题做个总结,方便自己也方便他人. 主要是5大配置点:

1 struts2配置 2 数据库 3 页面 4 jdbc连接 5 tomcat

以下解决方法不分顺序,大家按照自己的配置对比.

1 struts2配置

 struts2在配置struts.properties文件中加上struts.i18n.encoding=UTF-8 或者在 struts.xml里加上<constant name="struts.i18n.encoding" value="UTF-8" /> 有的朋友说加上struts.locale=zh_CN,但是我的struts.locale为en_GB没有问题.

2 数据库

2.1 mysql的表的编码方式,其DDL应该为: ENGINE=InnoDB DEFAULT CHARSET=utf8; 可以使用show create table tbname查看.

2.2 安装mysql数据库时就应该以utf8编码默认安装查看mysql数据库默认编码方式可以在其目录下my.ini文件中找到mysql和mysqld下default-character-set值为utf8或者在mysql数据库命令行下以"\s;"查看.

3 页面

每个页面上加上<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> 这样在jsp页面里,点右键,查看编码方式则为UTF-8.

4 jdbc连接

 设置characterencoding为UTF-8 如jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=UTF8

5 tomcat

为了保证get/post数据都采用相同的UTF8编码,我们在server.xml中进行了如下设置: <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443"  URIEncoding="UTF-8" />

其中,当当使用IIS作为webserver转发servlet/jsp请求时IIS是通过AJP协议,把请求转发到Tomcat监听的8009端口,所以需要配置端口8009的URIEncoding为UTF-8.

     msyql数据库安装时候需要默认编码方式或者使用MySQL Server Instance Config Wizard 配置,

在设置Configure the MySQL Server 5.0 server instance那里的时候选择Manual Selected Default Character Set / Collation 为 UTF8 而不是默认的 LATIN1 在MYSQL里查看得 mysql> \s;

-------------- E:\MySQL\MySQL Server 5.0\bin\mysql.exe  Ver 14.12 Distrib 5.0.51a, for Win32 (ia32) Connection id:          2 Current database: Current user:          root@localhost SSL:                    Not in use Using delimiter:        ; Server version:        5.0.51a-community-nt MySQL Community Edition (GPL) Protocol version:      10 Connection:            localhost via TCP/IP Server characterset:    utf8 Db    characterset:    utf8 Client characterset:    utf8 Conn.  characterset:    utf8 TCP port:              3306 Uptime:                25 sec Threads: 1  Questions: 4  Slow queries: 0  Opens: 12  Flush tables: 1  Open tables: 6  Queries per second avg: 0.160

    my.ini文件内容为

[mysql] default-character-set=utf8 # SERVER SECTION # ---------------------------------------------------------------------- # # The following options will be read by the MySQL Server. Make sure that # you have installed the server correctly (see above) so it reads this # file. # [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 #Path to installation directory. All paths are usually resolved relative to this. basedir="E:/MySQL/MySQL Server 5.0/" #Path to the database root datadir="E:/MySQL/MySQL Server 5.0/Data/" # The default character set that will be used when a new schema or table is # created and no character set is defined default-character-set=utf8 ...........

分享到:
评论

相关推荐

    struts2的中文乱码问题解决

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...

    struts2中文乱码解决Demo

    本DEMO是为了解决Struts2在处理中文输入时可能出现的乱码问题,确保系统能够正确地接收和显示中文字符。 首先,我们要理解乱码产生的原因。在Web应用中,数据的传输通常涉及多种编码方式,如HTTP请求的默认编码通常...

    java+mysql 乱码

    这里我们将深入探讨如何解决这个问题,主要涉及SSH(Spring、Struts、Hibernate)框架下的设置以及MySQL数据库的相关配置。 首先,我们需要了解Java中的字符编码。Java默认使用UTF-8编码,而MySQL数据库在创建时也...

    JSP struts2 url传参中文乱码解决办法.docx

    除了上述解决方法,还有其他可能出现中文乱码的场景,如JSP文件和HTML相互引入时的乱码、MySQL数据库插入数据时的乱码、页面转发过程中的乱码以及SmartUpload组件处理中文文件名时的乱码等。对于这些问题,一般也...

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇

    在本篇文章中,我们将深入探讨如何解决Struts + Hibernate + MyEclipse + Tomcat + MySQL环境中出现的乱码问题。该问题通常出现在处理中文字符时,由于编码设置不当导致中文显示为乱码或无法正常读取。为了确保系统...

    struts,ajax乱码解决方案

    【Struts和Ajax乱码解决方案】 在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下...

    使用Struts向MySQL数据库中存储图片

    使用Struts实现了向MySQL数据库中存储图片的功能。有一些问题没能解决:中文乱码问题,上传图片不能太大等等。虽然不太完善,作为参考还是可以的

    Mysql中文乱码问题解决

    本文将详细介绍如何解决MySQL中的中文乱码问题,并提供一系列实用的方法来确保数据库能够正确地存储和显示中文字符。 #### 1. 配置MySQL服务端字符集 为了确保MySQL能够正确处理中文字符,首先需要配置MySQL服务端...

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决

    总之,要解决Struts+Hibernate+MyEclipse+Tomcat+MySQL环境中的乱码问题,你需要检查并设置以上提到的所有环节的编码,确保它们统一为UTF-8。通过这种方法,可以有效地避免乱码的出现,从而提供良好的用户体验。在...

    解决Struts提交中文出现乱码和提交日期型数据报错的问题

    2. **自定义转换器**:创建一个实现`Converter`接口的类,重写`convert`方法来处理日期转换,然后在Struts配置文件中注册这个转换器。 3. **使用OGNL**:在Action类中,可以使用OGNL表达式进行日期转换,例如:`...

    hibernate+mysql 中文存入数据库乱码解决方法

    综上所述,解决hibernate+mysql环境下中文存入数据库乱码的问题,需要从Web应用配置、数据库配置、框架配置以及文件编码等多个方面综合考虑,确保整个数据处理链路的字符集一致且支持UTF-8。只有这样,才能确保中文...

    sshz中文乱码解决方法

    对于基于SSH(Spring+Struts2+Hibernate)框架的Web应用来说,解决中文乱码通常需要从多个层面入手。 ##### 2.1 配置Struts2的国际化编码 可以在`struts.xml`文件中添加如下配置来设置应用默认使用的编码格式: `...

    Struts的乱码问题

    针对上述问题,我们可以采取以下几种方法来解决Struts框架下的乱码问题: 1. **设置正确的字符集**: - **在Tomcat配置文件中设置**:修改`server.xml`文件中的Connector节点,添加`URIEncoding="UTF-8"`属性,...

    Struts2+jdbc+mysql 实现简单的增删改查(源码+jar包)

    该资源非常适合刚接触struts2的小伙伴,里面有源码个匹配的Struts2的jar包,使用方法见readme.txt。 另外提交数据后,如遇到乱码,请参考: http://blog.csdn.net/xp871038951/article/details/78322799

    java web hibernate struts spring 全方位解决乱码

    在Java Web开发中,我们经常会遇到各种乱码问题,特别是在使用Hibernate、Struts和Spring等框架时。这些框架处理数据的方式以及与数据库交互的过程都可能导致字符编码不一致,从而引发乱码现象。以下是对这些技术全...

    学生管理系统(Struts Hibernate mysql)lib1

    学生管理系统(Struts Hibernate mysql)无乱码问题。内附数据库文件,直接导入即可用。lib分成两个包lib1,lib2单独下载.把两个包一起搞到lib下即可。 这个是lib1包。你还要下载 学生管理系统(Struts Hibernate ...

    学生管理系统(Struts Hibernate mysql)lib2

    学生管理系统(Struts Hibernate mysql)无乱码问题。内附数据库文件,直接导入即可用。lib分成两个包lib1,lib2单独下载.把两个包一起搞到lib下即可。 这个是lib2包。你还要下载 学生管理系统(Struts Hibernate ...

    配置struts2常见错误

    ### 配置Struts2常见错误及解决方案 #### 引言 Struts2是一个基于Java的Web应用框架,它能够帮助开发者快速构建出结构清晰、易于维护的应用程序。然而,在实际开发过程中,开发者经常会遇到一些配置上的问题,这些...

    java编程出现中文乱码解决方法一

    虽然这种方法可以解决特定场景下的中文乱码问题,但在实际开发中还应该注意以下几点: 1. **统一编码**:在项目开发初期就应确定好编码格式,并在整个项目中保持一致性。一般推荐使用UTF-8作为默认编码,因为它支持...

    J2EE乱码问题解决方法

    ### J2EE乱码问题解决方法 在J2EE(Java 2 Platform, Enterprise Edition)应用开发中,字符编码问题尤为常见,特别是当涉及到多语言环境时。乱码问题不仅影响用户体验,还可能导致数据错误处理等问题。本文将详细...

Global site tag (gtag.js) - Google Analytics