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框架中中文显示乱码问题,以及向oracle中插入乱码问题。
解决CentOS SSH连接时中文乱码.
LINUX SSH显示中文乱码解决方法,我们经常都会遇到这样的问题,远程SSH登录LINUX系统时中文字体显示乱码,这里教你怎么解决这个问题。
1.vi /etc/sysconfig/i18n 将内容改为 ...2.安装LINUX的时候选择的是中文字,但是使用的时候出现了乱码解决方法是在命令提示下输入export LANG=C 3.export LC_ALL=zh_CN.GBK export LANG=zh_CN.GBK
mysql+jsp+SSH网站开发中文乱码解决方案
SSH SecureSSH Secure Shell Client中文乱码, Shell Client中文乱码,SSH Secure Shell Client中文乱码,SSH Secure Shell Client中文乱码,SSH Secure Shell Client中文乱码
用MyEclipse5.5整合SSH之后出现的中文乱码问题的解决之一是我个人针对我这种出现乱码的方式的解决方法,我是以把错误的SSH包和正确的SSH包对比以显示差别
解决ssh乱码的问题,使用SSH连接LINUX时候,可能会有乱码。这时候安装文档修改和配置就能解决
ssh spring+stuts+hibernate+sql server 中文乱码解决方案_lj管用.txt
简单,易懂,利用过滤器和请求处理器来解决项目中的中文乱码问题
ssh终端显示中文乱码.docx
mysql+jsp+SSH网站开发中文乱码解决方案适合电子商务平台及其它数据库平台开发人员参考和学习.
SSH下mysql中文乱码问题.docx
Linux中的中文文件在ssh终端中显示为乱码。原本在Windows中显示正常的文件,上传到Linux中之后,全变成乱码,有什么好的解决方法呢,经过本人多次实验,终于得到一个解决方法
关于SSH中文乱码的一个小总结.doc
一些个人总结都是一些最基本的希望对大家有所帮助
SSH框架下中文字符乱码问题的研究,是的收到房价来看 就快了导师,按时开放思考放假是,双方就哭了;发,爱上发思考放假是;看,撒法开始发力;是否,数据的反馈水煎服,圣诞节阿卡丽;开房间, 啊思考放假;阿拉善...
感谢你的下载,文件说明如下: *jsch的源文件 *jsch的依赖包 *用jsch源文件及依赖包构建的项目,便于修改其源码* ...如果乱码问题依然没解决,这个类也许能帮你找到你需要更改的编码类型。然后修改那三处地方。
详细解决方法请参见附件:连接到linux系统,SSH,telnet终端中文显示乱码.
ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整项目ssh2完整...