前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈tomcat引起的中文乱码问题

谈谈tomcat引起的中文乱码问题

作者头像
用户5521279
发布2019-06-02 15:54:52
22.4K0
发布2019-06-02 15:54:52
举报
文章被收录于专栏:搜狗测试

平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。引起乱码的原因多个,从网上学习了很多,现在尝试简单总结给大家分享

一、页面输出乱码

有三种可能

1.server.xml配置未注明编码格式

浏览器本身有自己的显示编码格式,tomcat的输出也有自己的格式,甚至我们在编写代码的过程中也可以指定输出的编码格式。所以这类原因导致的乱码,需要我们保持各种编码格式统一:

a.在tomcat中将server.xml 的我们所用的端口的配置添加URIEncoding="UTF-8"

b.在html的<html></html>标签内加上meta标签

c.最好在编程中输出页面的时候指定编码为UTF-8

2.catalina.bat的配置问题

在\tomcat\bin\catalina.bat这个配置文件中加上

set JAVA_OPTS=-Dfile.encoding=UTF-8

3.用编译工具,在IDEA编译器中的VM options:设置-Dfile.encoding=UTF-8,或eclipse 的设置中改成utf-8 输出的问题可以解决

二.控制台输出乱码

这个问题的原因是windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。所以tomcat的命令框和输出日志都是乱码

解决的办法有两个:

1.修改cmd命令行的编码

a.打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat

b.找到CodePage项,没有则创建,更改值为十进制的65001

2.修改logging.properties配置

a.打开tomcat/conf/logging.properties

b.添加语句:

java.util.logging.ConsoleHandler.encoding = GBK

c.重启tomcat,查看日志数据即可

希望分享对大家有用,晚安!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档