设置Tomcat中 conf下logging.properties中所有的UTF-8编码为GBK即可

原理----> 原因是windows中默认中文字符集为GBK,但是tomcat中日志输出为UTF-8,GBK对UTF-8显然是字符集不匹配;
产生原因----->>>图解

解决方式—>
通过HttpServletRequest设置请求编码
/处理post请求乱码/
req.setCharacterEncoding(“UTF-8”);
那我可不可以指定字符编码为GBK呢?
原因在与这是项目本身运行环境字符集编码为UTF-8,
所以也会产生乱码(但至少不是?之类的符号了)
在之前版本的tomcat中get方式提交的数据可能会遇到修改server.xml中uri编码格式的情况,但是这在tomcat9已经解决了该问题
<Connector port=“8080” protocol=“HTTP/1.1”
另一种是需要手动进行编码解码,注意:
浏览器将数据发送给tomcat服务器,服务器解析,当解码的字符集匹配但是发送的时候指定的编码集与数据类型不一致也会产生乱码问题,比如发送图片(ASCII),响应时指定字符集为文本(GBK),

通过HttpServletResponse设置响应编码
手动编码解码-----
//以UTF-8编码处理数据
resp.setCharacterEncoding(“UTF-8”);
解析为文本,是html文件
resp.setContentType(“text/html”);
或者设置tomat连接器的编码格式—
//设置响应头,以便浏览器知道以何种编码解析数据
resp.setContentType(“text/html;charset=UTF-8”);
总结------->>>>
当没有指定解码方式和响应的数据类型(包括响应的数据编码格式)—>>
指定解码方式和响应的数据类型(包括响应的数据编码格式)----->>>
手动编码解码
设定URL的编码格式

这里补充一点-------
还有一种比较费劲的方式-----

这种方式也会得到正常解析,那要浏览器干嘛?如果发送的是图片或者其他的内容岂不很麻烦?
(1) 解决post请求乱码问题:
在web.xml中配置一个CharacterEncodingFilter过滤器,设置成utf-8;
(2)get请求中文参数出现乱码解决方法有两个:
①修改tomcat配置文件添加编码与工程编码一致,如下:
②另外一种方法对参数进行重新编码:
1”),“utf-8”)
ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码。
到此这篇tomcat出现乱码(tomcat运行出现乱码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/28141.html