产生原因:
在计算机的世界里一切都是0与1,存储的文本信息同样是由01构成的二进制数据。文字的读取不会改变01二进制数据本身,但是当你读取时编码规则和写入时编码规则不一致时候,就会产生乱码问题。就像十三娘对方世玉说 :"I love you",而世玉理解的是”爱老虎油“,大概也算是声音信息的乱码场景吧(音轨还是那个音轨,只是各自读取的语言规则不同)。
直击现场 解决问题:
- 第一步:我检查了我的IDEA file encoding 的配置。(同时按下ctrl+alt+s)
发现并没有什么不妥。
- 第二步:给页面上添加mate标签
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head/>
然而并没什么效果。于是我就去掉这种无用的操作。换另外一种方案。
- 第三步:添加 Tomcat 的 VM options 配置
( 操作路径 :IDEA上方TabBar导航栏Run ->Edit Configurations 进入配置页面,第一个server tab项的内容页中间部分有一个VM options 文本框;)
键入以下内容 ↓
-Dfile.encoding=UTF-8
后,重新运行tomcat web容器,并在浏览器端,清除浏览器缓存后,网页乱码便已经解决了。
但是容器控制台中文信息就已经乱码了。
淇℃伅 [原本是‘信息’]
- 第4步:idea 虚拟机选项 vm options 修改。
如果没有可以在tab栏上选择custom自定义创建一个默认vm options property。有的话打开直接编辑即可,见下图标示。
于是修改idea64.exe.vmoptions 自定义的虚拟机vm信息
( 操作路径:IDEA上方菜单tab栏 [Help] -> [Edit custom VM options] )
在最后加上如下配置:
-Dfile.encoding=UTF-8
-Dsun.jnu.encoding=UTF-8
重启idea ,解决问题。
兄弟姐妹,祝您一路顺风,见证奇迹的发生,好运~!