最近用到windows服务器,其实就是普通的windows操作系统也是一样的,遇到nginx开启文件目录之后,中文的文件名,目录名会变成乱码导致不能查看到,在网上查到说需要加charset utf-8
还有的说的 charset utf-8,gbk
或者 charset gbk,utf-8
,在设置成gbk编码的时候,显示是正常的,不会乱码,但是点击进去的时候会在浏览器地址栏进行编码,编码的结果解码之后还是乱码的,其实就是在骗自己的眼睛。
那该怎么办呢,其实就是gbk和utf-8的问题导致乱码,之前遇到的一个文件输出流也是这个问题,最后查到windows系统,中文简体的时候,默认是gbk编码,于是在想怎么改成UTF-8 的编码
修改windows默认编码为UTF-8
搜索区域和语言设置
然后
修改之后就是UTF-8的编码了,但是随之而来的是我windows上的tomcat控制台打印乱码了,查看得知tomcat控制台默认跟同cmd窗口的编码格式,也是GBK的,
永久修改CMD窗口编码:win键+R,输入regedit,确定。
按顺序找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor。
点击右键-新建,选择“字符串值”。
windows系统修改cmd窗口utf-8编码格式
命名为“autorun”, 点击右击修改,数值数据填写“chcp 65001”,确定。
这样打开的cmd的窗口就自己设置成UTF-8了,然后这样你以为就完了嘛,并不
接着来设置tomcat
1、修改Tomcat bin目录下startup.bat文件
(这句话会导致tomcat开启的时候就是在cmd窗口模式,没有之前的jar标志等,具体可以自己查看下,不影响功能,就是外观上有一点点差别)
将call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS%
2、修改Tomcat bin目录下catalina.bat文件
将set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
改为:
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8"
重新启动tomcat解决utf-8乱码显示问题
总算完成了这次的乱码之旅,(永远走在乱码的路上 )