境 :win10 系统、tomcat8.5 版本
现象:本地启动控制台日志乱码
解决办法:
conf 目录下 logging.properties 文件
java.util.logging.ConsoleHandler.encoding=UTF-8
修改为
java.util.logging.ConsoleHandler.encoding=GBK
原因:
控制台默认是 GBK 编码,而 tomcat8.5 默认是使用 utf-8。
重启 tomcat8.5。控制台恢复正常。
网下载一个新版本的tomcat,启动之后发现启动页显示乱码,虽然不影响使用,但是看着不美观。如下图所示
启动页面乱码
感觉应该是文字编码格式导致,在网上搜索一下,发现修改conf文件夹下的logging.properties文件就行
具体需要修改java.util.logging.ConsoleHandler.encoding这里,将这里的值设置为GBK就可以了。设置后的如下图所示
现在启动,就不会出现乱码啦
文乱码问题是比较常见和烦人的问题,本文通过一个小程序介绍了如何通过Servlet从上一个页面获取参数,
方法很简单:调用request.getParameter(String s)方法。
解决中文乱码问题的方法是:
首先要设置response响应的格式:response.setContextType("text/html;charSet=GBK");
然后在加上request.setCharacterEncoding("GBK")
需要注意的是这是解决post方式提交的内容的中文乱码问题。
解决get方式提交内容的中文乱码问题的方法:
在Tomcat->conf文件夹->server.xml-->connecter标签里加上:
URIEncoding="GBK"(注意:在xml里面“=”两边不要有空格)
关于Post和Get之间的区别可以看我转载的另一篇博文:
HTTP POST GET 本质区别详解
例子:
1.threeparams.html
2.ThreeParams.java
补充:
上面的这个例子.html中每个name都不一样,如果有多个一样的name时,可以按如下的方法来获取:
1)Enumeration paramNames=request.getParameterNames()
调用此方法获得所有参数的名字,返回一个Enumeration
2) while(paramNames.hasMoreElements()){
String paramName=(String)paramNames.nextElement();
String[] paramValues=request.getParameterValues(paramName);
...
*请认真填写需求信息,我们会在24小时内与您取得联系。