java ssh乱码_SSH编写程序中文乱码解决

本文介绍如何在SSH框架中实现统一的UTF-8编码配置,包括Tomcat、jsp页面、web.xml过滤器、数据库连接及编辑器等环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用SSH开发应用其中一个比较麻烦的事就是中文支持,包括jsp页面显示,get/post请求处理,java代码的字符串,后端数据库连接都需要考虑。为了简化这个过程,我们尽量在各个地方使用单一编码,推荐UTF-8。

下面以UTF-8为例罗列一下需要考虑的配置。

1. 一般我们的应用都跑在Tomcat上,Tomcat的配置文件server.xml需要为Connector添加URIEncoding配置,这样它解码中文才不会出现乱码。

2. jsp文件头部需要需要添加contentType和pageEncoding,html的meta中添加content-type。

3. 项目的web.xml中添加编解码filter,添加到其他filter前面。

CharacterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

false

CharacterEncodingFilter

/*

4. 在jdbc的连接url中加上charsetEncoding参数,这样连接后端数据库就会使用UTF-8编码

jdbc.url=jdbc:mysql://1.1.1.1:3306/foo?useUnicode=true&characterEncoding=UTF-8

5. 后端数据库也配置成UTF-8的,比如Mysql需要在my.cnf中client和mysqld域中添加字段。

[client]default-character-set=utf8[mysqld]character-set-server=utf8

6. 最后就是你的源码编辑器也设置成UTF-8,包括外部的资源文件,如果有个别需要转码的就在需要的时候转一下,比如8859转utf-8。

utfstring = new String(pstring.getBytes("iso-8859-1"), "UTF-8");

上面几点基本就包括了解决乱码的要点,依照坐下来一般就没啥问题了,剩下编码中只需要记住java内部用的UTF-16双字节编码,UTF-16就是交通枢纽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值