欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于JSP前台传参数到后台出现乱码的问题

程序员文章站 2022-04-03 17:15:06
...

关于JSP前台传参数到后台出现乱码的问题

记录一下学习JSP时遇到的问题和解决办法

方法一

出现乱码首先查看代码页面的编码设置,项目里所有页面的编码需要统一
关于JSP前台传参数到后台出现乱码的问题
可以统一成UTF-8,或者GB2312等

方法二

在需要传字符的代码前加上:

request.setCharacterEncoding("UTF-8");

这个里面以UTF-8为例,需要其他编码的自行修改
这里时调用request(request是jsp的内置对象,主要用来处理客户端浏览器提交的请求中的各项参数和选项)的setCharacterEncoding方法

方法三

编写一个java工具类,写一个处理乱码的方法,需要时调用

public static String toChinese(String str){		//进行转码操作的方法
		if(str==null)
			str="";
		try {
			str=new String(str.getBytes("ISO-8859-1"),"gb2312");
		} catch (UnsupportedEncodingException e) {
			str="";
			e.printStackTrace();
		}
		return str;
	}

工具类里其实不止可以写转码的方法,还可以写数据类型转换的方法等

方法四

如果上诉方法尝试后问题没得到解决,那请尝试最后一种方法
这里我以我自己的例子来说明一下
关于JSP前台传参数到后台出现乱码的问题
图中我已经使用了之前的一些方法,可以没有解决我的乱码问题,在服务器上运行还是出现问号(??)
要怎么解决呢?

下面来说一下怎么做:
找到tomcat安装的路径,比如我的:D:\ruanjian\apache-tomcat-9.0.8,在路径下找到conf这个文件夹,打开
关于JSP前台传参数到后台出现乱码的问题
找到server.xml关于JSP前台传参数到后台出现乱码的问题
打开,找到里面的connector标签那一行:

关于JSP前台传参数到后台出现乱码的问题
在标签属性里加上:URIEncoding=“UTF-8”
关于JSP前台传参数到后台出现乱码的问题
保存,关闭,我们检查一下是否成功
关于JSP前台传参数到后台出现乱码的问题
为了测试传的字符,我用控制台输出一下,这样方便查看
关于JSP前台传参数到后台出现乱码的问题
控制台上已经输出了正确的中文字,搞定!

之后还有方法再补充,欢迎各位指正!!!(鞠躬)

以上!