java web中编码乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web中编码乱码问题相关的知识,希望对你有一定的参考价值。

  b/s 模式的java web项目中,不管是前端与后端。开发过程中,调试过程中,运行过程都经常遇到乱码问题。再从现象出发,分析一下问题:

  

1,项目导进来,页面中的注释等非西欧文字都是乱码。先查看workspace编码技术分享图片,现在我的GBK 编码。再查看这个页面的编码。

选中IDE工具中选中页面属性,可以看得到。如下图:技术分享图片。说明现在我的这个文件中代码的编码是以utf-8的方式存在。如果在这里把这个编码改成其它编码方式。那么将出现乱码。这比如,我把这个编程改成ISO-8859-1的方式后,发现,页面中所有非西欧的字符变成乱码。所以发现一个文件中的非西欧文字一开始就是乱码,可以查看她的编码属性。UE等工具就可以查看。再看与你主workspace的编码是不是一致。在ECLIPSE中做这种转换发生乱码的概率会很高。建议在UE等编程器中做。

2,页面发送请求时的传参。前端把查询的参数 传到后端,后端根据参数查询得到数据后,返回参数。具体情况是前端以GET的方式请求传参。GET请求前端在传送非西欧文字时一定要加上 URLEncoder.encode()的方式编码后,再传输。

而服务端则应该以 new String(请求参数.getBytes("ISO-8859-1"),"gbk");的方式进行解码。如果不加 URLEncoder.encode()的方式,不同浏览器有不同的字体编码方式。

 

以上是关于java web中编码乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

1.JAVA WEB 笔记中文乱码

java web中文乱码处理笔记

Java Web中乱码问题

如何解决Java项目中的中文乱码?

web中常见乱码问题详解

JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)