关于tomcat9页面部分乱码的处理

最近在升级服务器中,系统从server2012升级到2022,宝塔也从7.0升级到8.5,tomca由8.0升级到9.0,在升级中遇到太多太多的坑,记录一下其中的坑,方便后来者。

1、宝塔8.5装完tomcat9以后,想卸载很难卸载,建议重装系统快,宝塔8.5对tomcat8不是很友好。

2、宝塔8.5应该还是要对java环境变量进行设置才可以,否则无法运行tomcat-web项目。

3、宝塔8.5里面的tomcat9(外面的也一样)设置:

1)设置C:\BtSoft\tomcat_server\tomcat9\bin\catalina.bat文件中增加语句

set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"

位置如下:

rem TITLE (Optional) Specify the title of Tomcat window. The default

rem TITLE is Tomcat if it's not specified.

rem Example (all one line)

rem set TITLE=Tomcat.Cluster#1.Server#1 %DATE% %TIME%

rem ---------------------------------------------------------------------------

setlocal
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"

rem Suppress Terminate batch job on CTRL+C

if not ""%1"" == ""run"" goto mainEntry

if "%TEMP%" == "" goto mainEntry

if exist "%TEMP%\%~nx0.run" goto mainEntry

echo Y>"%TEMP%\%~nx0.run"

if not exist "%TEMP%\%~nx0.run" goto mainEntry

echo Y>"%TEMP%\%~nx0.Y"

call "%~f0" %*

用过其他类似语句,要不卡住,要不没效果

2)在C:\tomcat9\conf\logging.properties中,将log日志中控制台日志编码格式由UTF-8改为GBK,这样控制台就不会乱码,位置如下:

############################################################

Handler specific properties.

Describes specific configuration info for Handlers.

############################################################

1catalina.org.apache.juli.AsyncFileHandler.level = ALL

1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs

1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90

1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK

2localhost.org.apache.juli.AsyncFileHandler.level = ALL

2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs

2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90

2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK

3manager.org.apache.juli.AsyncFileHandler.level = ALL

3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs

3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

3manager.org.apache.juli.AsyncFileHandler.maxDays = 90

3manager.org.apache.juli.AsyncFileHandler.encoding = GBK

4host-manager.org.apache.juli.AsyncFileHandler.level = ALL

4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs

4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90

4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBK

java.util.logging.ConsoleHandler.level = ALL

java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

java.util.logging.ConsoleHandler.encoding = GBK

############################################################

3、到这一步基本上乱码解决,但我的页面还是有部分乱码,这时候还需要改系统语言编码(非常关键),如下:

找到电脑设置--时间和语言,点击进入下一个界面

点击语言进入语言设置界面

在语言设置界面,点击管理语言设置

在非Unicode程序的语言框,点击"更改系统区域设置"

勾选beta版:使用Unicode UTF-8提供全球语言支持(U)

在次重新启动tomcat9,页面乱码消失,一切正常

相关推荐
kyriewen14 分钟前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn1 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2331 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise2 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢3 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒3 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端
小灰灰搞电子4 小时前
Rust+Slint 实现温度计源码分享
前端·rust·slint
计算机魔术师4 小时前
面壁智能 OpenBMB 推出 MathForm,面向 Lean 4 数学自动形式化的开源框架、数据集与模型
前端
NeilCarmack4 小时前
Deepseek-harness增加桌面版端序列:第 2 讲 · spawn Electron:当前进程如何“交棒“
前端·javascript·electron