SSM项目经常遇到的乱码问题

开发时使用jetty一切正常的项目,部署到linux中tomcat下,卧槽,各种乱码问题,记录一下解决过程:

1. 路径上有中文无法打开,是因为tomcat不支持

修改conf/server.xml,添加URIEncoding(搜索port="8080")

 <Connector port="8080" protocol="HTTP/1.1"

            connectionTimeout="20000"

            redirectPort="8443"

         URIEncoding="UTF-8"/>

2. form提交后,(springmvc)后台接受到乱码

web.xml添加过滤器:

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3. Mybaits中文查不出数据

使用 类似Mybatis查询在语句select..from.. where s.username= #{username} 查询条件查询

传入username的是中文,在数据库中可以正常查询出来,但是mybatis查不出来(执行查询结果显示返回0条数据),折腾了很久,怀疑还是编码问题导致。

以下是网上找到的解决办法,果然有效! (个人安装的my.cnf文件只有mysqld选项,所以只要在[mysqld]下添加一行default-character-set=utf8就行)

估计数据库编码是latin的吧,最终找到原因,数据库安装后,编码没设置,设置成utf-8就好了,修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

2、在[mysqld]字段里加入character-set-server=utf8,如下:

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8

3、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]
no-auto-rehash
default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。

再一查询OK了

4.其他应该注意的地方

在springmvc配置中有编码配置的地方,一律UTF-8

还有JSP中不要忘记修改:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
时间: 2024-10-03 22:18:38

SSM项目经常遇到的乱码问题的相关文章

SSM项目整合基本步骤

SSM项目整合 1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003  年兴起的一个轻量级的 Java  开发框架,由 Rod Johnson  在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的. Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情.然而, Spring 的用途不仅限于服务器端的开

SSM项目整合

SSM项目整合基本步骤 SSM项目整合 1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003  年兴起的一个轻量级的 Java  开发框架,由 Rod Johnson  在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的. Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情.然而, Spring 的

IntelliJ IDEA通过maven构建ssm项目找不到mapper

idea运行ssm项目的时候一直报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 原因: 部署后target里面没有mybatis的配置文件*.xml 解决方法:在pom.xml中通过maven强制将*.xml文件一起发布 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&

SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

情况一: ajax中传值时是乱码(后台可以获取到中文字符,但用@ResponseBody返回时前台为乱码) 情况二: Controller 中 request.getParameter()获取到的是乱码 @RequestMapping(params = "method=submit") public String submit(HttpServletRequest request, ModelMap modelMap) throws Exception{ String uname =

Hession集成Spring + maven依赖通讯comm项目 + 解决@ResponseBody中文乱码

hessian结合spring的demo hessian的maven依赖: <!-- hessian --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.7</version> </dependency> 实例demo:Hession集成Spring + maven依

简单搭建一个SSM项目

简单搭建一个用户管理的SSM项目框架,虽然也能用servlet+jdbc搭建更简单的,不过个人感觉工作中更多用的ssm框架项目,这里就简单用ssm来搭建需要的项目吧. 准备工具:eclipse.jdk1.7.Mysql.maven.tomcat.(请先确定计算机本身已安装好前面几个工具,myeclipse自动集成maven,eclipse需要自己先配置,具体配置请自行百度) 这里先把项目的目录结构显示下 好的,现在开始 File->new->other->maven project Ne

Maven 搭建 SSM 项目 (oracle)

简单谈一下maven搭建 ssm 项目 (使用数据库oracle,比 mysql 难,所以这里谈一下) 在创建maven 的web项目时,常常会缺了main/java , main/test 两个文件夹. 解决方法: ① : 在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了. (推荐使用这种) ② :手动创建 目录.切换视图采用Navigator视图

java SSM项目搭建-- The server time zone value &#39;?й???????&#39; is unrecognized or represents more than one time zone

出现  错误 The server time zone value '?й???????' is unrecognized or represents more than one time zone 找到jdbc 数据库连接字符串, 加上?serverTimezone=UTC ?serverTimezone=UTC <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManager

idea导入ssm项目启动tomcat报错404

用idea写ssm项目,基于之前一直在用spring boot  对于idea如何运行ssm花费了一番功夫 启动Tom act一直在报404 我搜了网上各种解决办法都不行,花费一天多的时间解决不了 就是在pom中添加下面代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin&l