关于JSP前台传参数到后台出现乱码的问题
程序员文章站
2022-04-03 17:15:06
...
关于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;
}
工具类里其实不止可以写转码的方法,还可以写数据类型转换的方法等
方法四
如果上诉方法尝试后问题没得到解决,那请尝试最后一种方法
这里我以我自己的例子来说明一下
图中我已经使用了之前的一些方法,可以没有解决我的乱码问题,在服务器上运行还是出现问号(??)
要怎么解决呢?
下面来说一下怎么做:
找到tomcat安装的路径,比如我的:D:\ruanjian\apache-tomcat-9.0.8,在路径下找到conf这个文件夹,打开
找到server.xml
打开,找到里面的connector标签那一行:
在标签属性里加上:URIEncoding=“UTF-8”
保存,关闭,我们检查一下是否成功
为了测试传的字符,我用控制台输出一下,这样方便查看
控制台上已经输出了正确的中文字,搞定!
之后还有方法再补充,欢迎各位指正!!!(鞠躬)
以上!
上一篇: 判断两个矩形是否重叠
下一篇: java面向对象练习