java中可以出现的中文乱码的集中解决
来源:互联网 发布:淘宝上怎么买二手货 编辑:程序博客网 时间:2024/05/17 22:35
java中可以出现的中文乱码的集中解决
从学习javaweb开始就会经常遇到中文乱码,今天就做以下记录:
1. 要避免项目中遇到乱码,首先就是在搭建项目的设置工作空间的字符编码,若是多人开发,就更应该做到统一,在eclipse中选择widnow -> preferences -> genreal -> workspace,在这里设置工作空间的字符编码,我通常都会设置成utf-8
1.1 最好的方式就是所有的都统一用一种编码,在所有jsp页面中设置编码为utf-8,这样可以很大程度上避免乱码。在jsp的开头设置编码
<%@ page language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%>
2. 在前台向后台发送请求的时候也可能会出现中文乱码,这里又要分请求的方式,
2.1 若是采用get请求出现的中文乱码,那么就有两种解决方法:
第一种就是设置tomcat服务器的server.xml这个文件,找到下面的这个段代码,添加上URIEncoding="UTF-8",这种方法最简单
<connector connectiontimeout=
"20000"
port=
"8080"
protocol=
"HTTP/1.1"
redirectport=
"8443"
uriencoding=
"UTF-8"
></connector>
new
String(request.getParamter(
"xxx"
,
"utf-8"
)
若是在js中请求后台,也是使用get的方式请求,还可以使用javascript提供的encodeURI这个方法进行转码,然后再后台java中使用URLDecode.decode()进行解码,在java中有URLEncode.encode(),URLDecode.decode() 这个两个方法,一个是转码,一个是解码,对应的jsavascript中也有类似的两个方法。
2.2 若采用的是post方式请求后台出现乱码,也有几种方式解决:
第一种 使用request.setcharacterencoding这个方法设置请求内容的编码,这个方法只对post方式起作用就,自己也可以自己写一个过滤器来设置编码。
第二种 若项目中使用了Struts2,那么很简单,在struts.xml中配置一个参数
<constant name=
"struts.i18n.encoding"
value=
"utf-8"
></constant>
<filter>
//过滤器使用spring类CharacterEncodingFilter
<filter-name>encodingFilter</filter-name>
<filter-
class
>
org.springframework.web.filter.CharacterEncodingFilter
</filter-
class
>
<init-param>
<param-name>encoding</param-name>
//过滤器过滤后的编码为utf-8
<param-value>utf-
8
</param-value>
</init-param>
</filter>
<filter-mapping>
//过滤所有的路径:/*代表所有的路径
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4. 后台存入数据到数据库中也有可能会出现乱码,在取出来也就是是乱码,解决的方式就是设置数据库的字符编码,设置字符编码为utf-8,这个要看使用的什么数据库,这里说下mysql中设置数据库中的编码,在数据安装完成之后配置mysql数据库的字符编码为utf-8;若是数据库已经安装了可以到mysql的安装目录中找到配置启动方式
- java中可以出现的中文乱码的集中解决
- mysql中出现中文乱码的解决
- Java中解压文件名有中文的rar包出现乱码问题的解决
- 解决mysql--jsp中出现的中文乱码问题
- VC窗口程序中出现中文乱码的解决
- 解决python程序中出现中文乱码的问题
- Android Studio中系统出现中文乱码问题的解决
- 解决MySQL中写入中文出现乱码的问题
- 解决JAVA写mysql时出现中文乱码的现象
- 解决Java中URL传递中文参数时出现乱码的问题
- java中文乱码的解决
- java中文乱码的解决
- java中文乱码的解决
- java中文乱码的解决
- java中文乱码的解决
- java中文乱码的解决
- java中文乱码的解决
- Java中文乱码的解决
- CIFS Publishers拷贝文件到windows
- PHP基础知识重温及整理
- python 打印数组中文显示为'\xe6\xb5\x8b\xe8\xaf\x95\xe4\xb8\xbb\xe6\x9c\xba‘’
- linux下,几种压缩文件的解压
- Backup/Restore Redis and ElasticSearch
- java中可以出现的中文乱码的集中解决
- Java学习心得之网络编程
- 笨方法学习Python-习题23: 读代码
- 通过linux mail实现网站存活监控告警通知
- nginx配置
- crontab使用
- 讲给Android程序员看的前端教程(03)——HTML5标签(2)
- lintcode---旋转图形
- 敏捷武士:看敏捷高手交付卓越软件