windows下cmd打开tomcat乱码暨idea控制台启动tomcat乱码

本文关键解决方案来源:tomcat乱码解决

省流助手:

本文只针对

 1. cmd启动tomcat乱码
 2. idea启动tomcat乱码、
 3. 非web配置下的sout输出乱码
 4. idea代码文件中中文乱码的解决
 5. json回传html文件乱码的解决

其他web配置下的:get/post中文乱码、ssm下的中文输出和json乱码,本文没有涉及!

温馨提醒:当问题出现时,一定要明确问题的大概来源。
		get/post乱码去查询tomcat乱码的解决是南辕北辙,白费功夫
		本人使用idea作为编辑工具,eclipse用户也可作为参考

1.cmd下tomcat乱码的原理

cmd控制台使用gbk的编码来显示文字,8.0版本以后的tomcat日志输出却采用utf-8的编码,utf-8不能
使用gbk的编码来正常显示,
正如你不能把typeC的充电器给typeB充电口的手机充电一样,能捅进去已经不容易了,还要求能正常充电
就只是痴人说梦了(如果你对gbk和utf8编码不太理解,欢迎您自行百度)
那么应该如何解决标题提出的问题:
		很简单---把tomcat日志输出的编码方式改为gbk即可
		或者,把cmd的文字编码方式改为utf-8(不推荐,存在部分无法解决的win系统bug)
		**严正警告**:不要把win系统的编码方式由gbk换为utf-8,存在系统无法使用的风险

具体操作步骤:

  1. 把图片中 位置① java.util.logging.ConsoleHandler.encoding的UTF-8 改为GBK,重启tomcat后观察乱码是否解决,如未解决,请按照步骤②操作。
  2. 把图片中②位置java.util.logging.ConsoleHandler.encoding的UTF-8全部改为GBK,重启tomcat乱码应该会得到解决,如未解决,你可能需要去问问上帝

文件位置:/conf/logging.properties

2.idea下tomcat乱码原理

idea的控制台默认使用gbk的编码,tomcat如果使用utf-8的编码输出日志到idea的控制台有可能不会乱码,
但tomcat localhost log单元一般都会显示中文乱码
按照1中的步骤设置tomcat编码格式,在idea控制台上,你应该是看不到乱码的。
但是你如果看到了乱码,请查看file-setting-editor--general--console 下的默认编码是否是gbk
不推荐你将console的默认编码改为utf-8,否则将导致问题3、sout输入时中文乱码的问题
(问题的原因是:jvm采用gbk编码,要想使用utf-8
需要在jvm 启动参数 VM options 加个配置 -Dfile.encoding=UTF-8    如下图--虚拟机选项)

在这里插入图片描述
json传值的乱码,深层原因大多是问题1、2的累加,通过对1、2的解决,大都可以解决传值的乱码。

文件内中文乱码基本不会出现,如果产生,依然是文件编码不符的原因,将idea 图中utf-8的编码改成其他编码尝试即可
在这里插入图片描述
最后关于eclipse软件中的乱码解决,也是上述的思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值