1在Tomcat里面的server.xml把编码改成了UTF-8。
2新建立项目后,首先在项目的属性的Resource里把Test file encoding改为UTF-8。;如果你做到中途再设置的话,可能会改得不彻底。(我可能就是中途才把GBK改为UTF-8导致几天都解决不了,现在新建项目先设定为UTF-8才成功)
3使用编码过滤器(org.springframework.web.filter.CharacterEncodingFilter),配置如下:
<filter>
<filter-name>SetCharacterEncoding</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>
4在JSP页面里加上了<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
5在struts.xml里也加上了<constant name="struts.i18n.encoding" value="UTF-8"/>
6连接数据库的语句jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8
7我mysql用的管理软件是Navicat,新建连接时,在”高级“里使用默认的选项,即”使用MySQL字符集“和编码是“65001(UTF-8)”。
8在Navicat里手动创建数据库时,SQL语句建表示例:
CREATE TABLE `co_admin` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`email` varchar(20) DEFAULT NULL,
`role` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
记得后面要加上DEFAULT CHARSET=utf8。
9需要转码的地方在页面和页面之间通过URL传输中文数据时才需要转码:如a.jsp链接到b.jsp时,a.jsp页面要使用String name=URLEncoder.encode( nameStr, "UTF-8")编码,然后链接href="background/manager/modifyAdmin.jsp?name=<%=name%>。b.jsp要得到中文参数要转码解码,String name=new String(request.getParameter("name").getBytes("iso8859-1"),"utf-8")解码即可。但你使用struts标签时加在链接里作为参数传输中文参数就比较困难,如a.jsp里面的链接href="background/manager /modifyAdmin.jsp?name=name=<s:property value='name'/>,这样在a.jsp里就用不了String name=URLEncoder.encode( nameStr, "UTF-8")编码,如果你用的是IE浏览器,然后b.jsp得到中文个数如果是单数的话,如“中国人”从a转到b就会变成“中国口”,个数为双数的话就不会。如果你用的是火狐就单双数中文都系那是正常。即struts2标签库作为参数放进链接(因a.jsp没编码,b.jsp解码时就不能保证),得到中文数目为单的参数时最后一个字变成类似“口”字。
分享到:
相关推荐
### SSH框架解决中文乱码 #### 一、背景与问题定义 在开发基于SSH(Struts2 + Spring + Hibernate)框架的应用程序时,经常会遇到中文乱码的问题。这些问题主要出现在两个方面:一是前端页面上中文字符显示不正常...
本文介绍了两种解决SSH中文乱码的方法:一是通过修改系统配置文件 `/etc/sysconfig/i18n` 来永久性地解决中文乱码问题;二是通过临时设置环境变量来暂时解决该问题。通常情况下,建议采用第一种方法进行长期解决。...
### Linux SSH 显示中文乱码解决方案 在日常工作中,我们经常需要通过SSH远程登录到Linux系统来进行各种管理和操作。然而,一个常见的问题是当我们在Windows环境下使用SSH客户端(如PuTTY等)连接到Linux服务器时,...
#### 一、使用过滤器解决中文乱码 **1. 创建自定义过滤器** 首先,我们需要创建一个实现了`javax.servlet.Filter`接口的类`Myfile`。在这个类中,我们将重写`doFilter()`方法来设置请求和响应的字符编码为“GBK”...
Spring提供了一个CharacterEncodingFilter来解决中文乱码问题,该过滤器可以在web.xml中进行配置。 配置方法: <filter-name>encodingFilter <filter-class>org.springframework.web.filter....
在Linux系统中,中文乱码问题常常困扰着用户,尤其是对于那些需要处理中文文本的开发者和运维人员。...通过以上方法,一般可以有效避免和解决中文乱码问题,使得在Linux环境中处理中文文本更加顺畅。
总结:解决中文乱码问题需要对整个开发环境进行细致的配置,包括数据库、IDE、框架和应用层的编码设置。在上述步骤中,尤其需要注意的是MySQL的字符集设置、MyEclipse中JSP页面的默认编码以及Struts2的过滤器配置。...
### 连接到Linux系统,SSH、Telnet终端中文显示乱码解决方案 在处理与Linux系统的远程连接时,用户经常会遇到中文字符显示为乱码的问题...希望本文能帮助您顺利解决中文乱码问题,提升远程管理Linux系统的效率和体验。
### SecureCRT中文乱码解决方案 SecureCRT是一款非常流行的终端仿真软件,被广泛应用于远程服务器管理。在使用过程中,用户可能会遇到中文显示乱码的问题。本文将详细介绍如何解决SecureCRT中的中文乱码问题。 ###...
本节将详细介绍如何通过修改配置文件及环境变量来解决中文乱码问题,并确保SSH远程连接时中文字符的正常显示。 ### 步骤一:修改系统语言环境配置 1. **编辑`/etc/sysconfig/i18n`文件** 使用文本编辑器打开`/...
### Linux中文乱码解决方法 在使用Linux操作系统的过程中,用户可能会遇到中文显示出现乱码的情况。这种情况通常是由于系统编码设置不正确或者环境变量配置不当所导致的。本文将详细介绍如何解决Linux中的中文乱码...
总结,SSH框架下的中文乱码问题主要通过自定义过滤器解决,设置合适的请求和响应的字符编码。同时,对于不同的数据提交方式,如表单和JS,需要采取相应的解决方案。在实际开发中,确保整个数据传输过程中的字符编码...
- 当通过SSH连接到远程服务器时,可以使用以下命令来解决中文乱码问题: ```sh export LANG=zh_CN.GB18030 ``` - 或者在用户的`.bashrc`或`.bash_profile`文件中添加上述命令,以便每次登录自动设置。 4. **...
### Putty中文乱码解决方案详解 #### 一、问题背景 在使用Putty连接远程服务器时,有时会遇到中文显示乱码的问题。这种情况通常是因为客户端(Putty)与服务器端编码设置不一致导致的。本文将详细介绍如何解决...
文件标题《Xshell解决中文乱码设置.pdf》和描述都表明,该文件将介绍如何在Xshell中配置相关的环境变量以解决中文乱码问题。Xshell是一款流行的终端模拟器软件,支持SSH、TELNET、Rlogin、Serial和SFTP等多种协议,...
以下是解决中文乱码问题的一些关键步骤: - **Eclipse配置**:确保Eclipse的编码设置为UTF-8,以保证源代码中的中文字符正常显示。 - **Tomcat配置**:在Tomcat的`server.xml`中添加`URIEncoding="UTF-8"`到HTTP和...
没有遇到过存储的中文是乱码的情况,后来在ssh的项目中使用的是MySQL的项目,遇到了乱码的问题,只要向数据库中存储中文数据会是乱码,存储英文没有问题,小编通过研究了研究把这中问题总结了一下: 二、乱码解决...
其次,解决中文乱码通常需要调整系统的locale(地区和语言设置)。在CentOS中,可以通过`locale`命令查看当前的locale设置,然后使用`locale-gen`生成支持中文的locale,如`en_US.UTF-8`或`zh_CN.UTF-8`,并用`...
这样设置后,不仅终端可以输入和显示中文,连shell脚本中的中文字符乱码问题也能得到解决。 对于英语操作系统,你需要保持`LANG`变量为英文,例如`LANG="en_US"`,同时保留对中文的支持。这可以通过在`/etc/...
【Linux中文乱码问题详解...总结,Linux中文乱码问题的解决涉及字符集的理解、locale的配置以及相关环境变量的设定。正确理解和应用这些知识,能帮助我们有效地处理各种乱码问题,确保在Linux环境中顺利进行中文操作。