`

JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 5大配置点 使用UTF-8编码

阅读更多
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开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...

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

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

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

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

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

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    struts2中文乱码解决Demo

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

    mysql+jsp+SSH网站开发中文乱码解决方案

    在进行MySQL、JSP以及SSH(Struts、Spring、Hibernate)框架集成的网站开发时,中文乱码问题是一个常见的困扰。这通常是由于编码格式不一致、设置不当或处理方式错误导致的。以下是一些关键的知识点,可以帮助你解决...

    解决Tomcat+MySql+Struts的中文问题

    在开发基于Java的Web应用程序时,常常会遇到中文字符编码的问题,尤其是在Tomcat服务器、MySQL数据库和Struts框架的组合中。这个问题主要涉及到字符集的兼容性和一致性,因为每个环节都可能有自己的默认编码方式,...

    jsp页面乱码处理

    本文将根据“jsp页面乱码处理”的标题与描述,深入解析解决JSP乱码问题的策略,并结合具体代码实例,帮助开发者彻底摆脱这一难题。 #### JSP乱码的根本原因 JSP页面的乱码通常源自字符编码不一致,即不同环节使用...

    Struts的乱码问题

    ### Struts框架中的乱码问题解析与解决方案 #### 背景介绍 在Web开发过程中,尤其是使用Java Web框架如Struts进行项目开发时,经常遇到的一个问题是中文字符的乱码问题。这个问题主要体现在中文字符在Web页面上的...

    struts-hibernate-sprint开发详解 乱码问题 连接池

    总结来说,SSH框架的集成涉及到数据库连接、Hibernate配置、Spring容器设置、Struts2拦截器配置以及处理乱码和连接池问题。通过这些步骤,开发者可以构建一个完整的Java Web应用程序,实现MVC架构,有效地管理数据...

    Java-Web开发中乱码处理归纳

    在面对具体问题时,要细心排查,逐一调整,同时,养成良好的编码习惯,如统一使用UTF-8编码,能有效减少乱码问题的发生。 通过这个"乱码处理归纳"文件,你可以系统地学习和总结关于Java Web开发中的乱码问题及其...

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

    4. **数据库连接编码**:确保数据库连接的字符集设置为支持中文的,如MySQL中的`useUnicode=true&characterEncoding=UTF-8`。 5. **服务器配置**:检查Tomcat或其他服务器的字符编码设置,确保其与应用程序保持一致...

    java文件JSP文件乱码汇总

    **问题描述**:在项目开发中,由于Java默认使用UTF-8编码,但在实际操作中,如使用Struts框架时,往往需要选择UTF-8作为默认编码来避免乱码问题。此外,在使用Eclipse等IDE进行编辑时,应确保default text editor...

    java开发乱码问题处理大全

    默认情况下,Java使用的是UTF-8编码,但在实际项目中,如使用Struts框架时,应明确选择UTF-8作为默认编码,而非GBK或其他编码。此外,若使用Eclipse作为开发工具,需设置其默认文本编辑器的编码为UTF-8,这有助于...

    jsp mysql 中文输入一次搞定

    通过以上步骤,通常可以解决JSP与MySQL交互时的中文乱码问题。在实际开发过程中,如果问题依然存在,可能需要检查其他环节,比如IDE的编码设置、Tomcat服务器的配置等。确保整个系统从输入到存储的过程中,中文字符...

    J2EE乱码问题解决方法

    需要注意的是,为了避免出现乱码问题,最好在整个应用中使用统一的字符集,通常推荐使用`UTF-8`编码,因为它支持世界上几乎所有的字符集,且编码方式简单明了。此外,在开发过程中,还需要注意测试各种边界情况,...

    struts汉字的处理

    这样,JSP页面将使用UTF-8编码显示和处理汉字。 4. **Servlet容器配置** 配置Tomcat或其他Servlet容器,使其支持UTF-8编码。在server.xml的Connector配置中添加URIEncoding参数: ```xml ...

    je22中乱码问题

    - 在Struts配置文件中,可以添加如下配置来确保所有请求都使用UTF-8编码: ```xml &lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt; ``` - 对于POST请求的数据,可以在接收时进行转码处理,确保使用正确...

    配置struts2常见错误

    ### 配置Struts2常见错误及解决方案 #### 引言 Struts2是一个基于Java的Web应用...通过以上分析和解决方案,我们可以有效地解决配置Struts2时常见的错误。希望这些信息能帮助你在开发过程中避免或迅速解决类似的问题。

    页面往action传中文参数,如何不变成乱码

    在网页开发中,尤其是使用Java相关的技术如JSP和J2EE时,处理中文参数的传递是一个常见的问题。当页面中的中文数据提交到服务器的Action(例如Struts2的Action或者Spring MVC的Controller)时,如果处理不当,就可能...

Global site tag (gtag.js) - Google Analytics